1. 程式人生 > >分享知識-快樂自己:Liunx 安裝MySQL

分享知識-快樂自己:Liunx 安裝MySQL

第一步:

1):下載mysql安裝包:這裡選擇下載版本 5.6.33,通用版,linux下64位

http://dev.mysql.com/get/Downloads/MySQL-5.6/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):上傳下載好的 MySQL tar包 到指定目錄下並解壓到指定目錄下。上傳途徑(xftp 或 rz 命令) 

tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz -C ../mysqlInstall

重新命名解壓後的檔案

mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql

第四步:

4):先檢查是否有mysql使用者組和mysql使用者

groups mysql

若無,則新增;

groupadd mysql
useradd -r -g mysql mysql

若有,則跳過;

第五步:

5):進入 MySQL解壓後的目錄 更改許可權

cd mysql/


chown -R mysql:mysql ./

第六步:

6):執行安裝指令碼

./scripts/mysql_install_db --user=mysql

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

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

第七步:

7):更改 MySQL 密碼

上一步安裝指令碼執行輸出的日誌中告訴我們如何更改密碼了。

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

因為這時還沒有啟動mysql,這算是一個坑。

啟動方法如下:

./support-files/mysql.server start

注意:可能遇到的以下問題:

解決方案:

1):沒有那個檔案或目錄

安裝MySQL的整個過程。由於我的MySQL不是安裝在標準的/usr/local/mysql目錄,而是安裝在 /opt/mysqlInstall/mysql-5.6.33 目錄,導致在啟動MySQL服務時報告找不到/usr/local/mysql目錄的錯誤。

就是mysql.server啟動檔案,該檔案所處路徑  在解壓包的support-files資料夾內,如果不修改的話啟動會報錯。

 

2-1):如果報如下的錯誤:如果報如下的錯誤:

原因是該路徑下沒有對應的檔案;

解決方法: 

mkdir /var/log/mariadb 
chmod 700 /var/log/mariadb

啟動 mysql。

2):未找到命令:

cp /usr/local/mysql/bin/my_print_defaults  /usr/bin

3):如果MySQL啟動報錯,則可能是已經存在MySQL程序,殺掉即可。

ps aux|grep mysql
kill -9 上邊的程序號

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

======

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

./bin/mysqladmin -u root -h admin-02 password 'root'

admin-02:為本機名稱

密碼更改後即可登入MySQL:

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

注意:可能發生的錯誤

解決方案:

vim  /etc/hosts

第八步:

8):修改配置

但是如果 ./bin/mysql -uroot -proot 登陸 系統會報錯: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/mysql.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,如果配置檔案中沒有這個配置,則手動新增上

第九步:

9):關閉防火牆

firewall-cmd --state    檢視防火牆狀態

systemctl disable firewalld.service    設定防火牆開機不啟動

第十步:

10):增加遠端登入許可權

為解決這一問題,需要本地登陸MySQL後執行如下命令。

grant all privileges on *.* to [email protected]'%' identified by 'root';
flush privileges;

執行之後即可遠端登入.

 

來源於:https://www.cnblogs.com/jessica-test/p/9047431.html

ERROR:https://blog.csdn.net/hjf161105/article/details/78850658    https://blog.csdn.net/whd526/article/details/78218801