linux下安裝mysql


1、下載mysql安裝包:

    下載地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

    下載版本:我這里選擇的5.6.33,通用版,linux下64位

    也可以直接復制64位的下載地址,通過命令

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz --no-check-certificate

tar -xvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

2、卸載老版本MySQL

查找並刪除mysql有關的文件

find / -name mysql rm -rf 上邊查找到的路徑,多個路徑用空格隔開 #或者下邊一條命令即可 find / -name mysql|xargs rm -rf

3、在安裝包存放目錄下執行命令解壓文件:

tar -xvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz

4、重命名解壓后的文件

mv mysql-5.6.31-linux-glibc2.5-x86_64/ mysql

5、添加mysql用戶組和mysql用戶

先檢查是否有mysql用戶組和mysql用戶

groups mysql

 

若無,則添加;

groupadd mysql useradd -r -g mysql mysql

若有,則跳過;


6、進入mysql目錄更改權限

cd mysql/ chown -R mysql:mysql ./

7、執行安裝腳本

./scripts/mysql_install_db --user=mysql

安裝完之后修改當前目錄擁有者為root用戶,修改data目錄擁有者為mysql

chown -R root:root ./ chown -R mysql:mysql data

Paste_Image.png

8、更改mysql密碼

上一步安裝腳本執行輸出的日志中告訴我們如何更改密碼了


但是如果直接執行這兩條命令就會報錯


因為這時還沒有啟動mysql,這算是一個坑。啟動方法如下:

./support-files/mysql.server start

如果MySQL啟動報錯,則可能是已經存在MySQL進程,殺掉即可

ps aux|grep mysql kill -9 上邊的進程號 #或者下邊一條命令即可殺掉所有MySQL進程 ps aux|grep mysql|awk '{print $2}'|xargs kill -9

殺掉后再啟動即可。
或者是有其他的mysql文件干擾了mysql的啟動,所以在安裝之前要刪除其他的mysql目錄,如果一直啟動不了,那就刪除掉所有的mysql目錄,重新安裝

MySQL啟動之后再執行如下命令更改密碼:

./bin/mysqladmin -u root -h localhost.localdomain password '123456'

密碼更改后即可登錄MySQL

./bin/mysql -h127.0.0.1 -uroot -p123456

 
9、修改配置
但是如果./bin/mysql -uroot -p123456登陸,系統會報錯:Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";
具體可以參考帖子:https://blog.csdn.net/hjf161105/article/details/78850658
驗證辦法:
./bin/mysql -uroot -p -S /var/lib/mysql/mysqld.sock

如果執行上述命令可以連接mysql,則使用下面解決辦法
解決辦法:
ln -s /var/lib/mysql/mysqld.sock /tmp/mysql.sock

ls /tmp/

同時,將etc/my.cnf文件的bind-address = 127.0.0.1  更改為 bind-address = 0.0.0.0,如果配置文件中沒有這個配置,則手動添加上
 

這一步可有可無:

登錄之后將其他用戶的密碼也可改為root

update mysql.user set password=password('root') where user='root'; flush privileges;

 
10、關閉防火牆
service iptables stop
11、增加遠程登錄權限

上一步即可本地登錄,但遠程登錄會報錯


為解決這一問題,需要本地登陸MySQL后執行如下命令
grant all privileges on *.* to root@'%' identified by '123456'; flush privileges;

執行之后即可遠程登錄

 

轉發自鏈接: https://blog.csdn.net/wwd0501/article/details/71171614


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM