分享知識-快樂自己: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