卸載舊版本MySQl: 下載MySQ: MySQl官網:https://dev.mysql.com/downloads/mysql/ 版本自選,操作系統選Linux-Generic,64位系統或者32位系統看自己電腦 複製鏈接地址 下載壓縮文件至 /usr/local/src 解壓並刪除安裝包 複製 ...
卸載舊版本MySQl:
下載MySQ:
MySQl官網:https://dev.mysql.com/downloads/mysql/
版本自選,操作系統選Linux-Generic,64位系統或者32位系統看自己電腦
複製鏈接地址
下載壓縮文件至 /usr/local/src
cd /usr/local/src wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
解壓並刪除安裝包
tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
rm -rf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
複製安裝包到另一位置並重命名(註:mysql-5.6.43-linux-glibc2.12-x86_64後面不加/)
cp mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql -r
添加mysql用戶組與mysql用戶:
保證mysql服務獨立性,即使出現問題也不會影響整個系統。
檢查是否有mysql用戶組與mysql用戶
cd /usr/local/mysql/
groups mysql
若無,則添加
groupadd mysql
useradd -r -g mysql mysql
修改當前目錄擁有者為mysql用戶:
chown -R mysql:mysql ./
執行安裝腳本:
./scripts/mysql_install_db --user=mysql
若出現下圖所示error,則安裝libaio後再重新執行安裝腳本
修改當前目錄擁有者為root用戶,修改data目錄擁有者為mysql:
chown -R root:root ./
chown -R mysql:mysql data
啟動mysql:
./support-files/mysql.server start
若出現下圖所示error
解決方法:
mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log
更改密碼:
./bin/mysqladmin -u root password '這裡是你的密碼'
若出現下圖所示error
mysql.sock的作用:連接localhost通常通過一個Unix域套接字文件進行,一般是/tmp/mysql.sock。如果套接字文件被刪除了,本地客戶就不能連接。
解決方法:
find / -name mysql.sock ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
mysql.sock預設的是在/var/lib/mysql,find命令查找mysql.sock文件,若存在則直接為它創建軟鏈接到/tmp/mysql.sock的聯接
登錄mysql:
./bin/mysql -uroot -p這裡填你的密碼
完成:
查看版本:status;
把啟動腳本放到開機初始化目錄
原因:可以使用"service 服務名稱"來進行管理,比如常常使用的命令”service mysql start”,就是mysql註冊成為linux的系統服務了,不需要寫一大串的原始服務路徑。
cp support-files/mysql.server /etc/init.d/mysql
停止:service mysql stop
(失敗的話嘗試:service mysqld stop,下同)
啟動:service mysql start
重啟:service mysql restart
增加遠程登錄許可權:
解決方法:
登錄阿裡雲伺服器,找到防火牆,按下圖添加規則
再重新連接,成功。
小插曲:我在解決遠程連接時巴拉巴拉不知弄了什麼,竟然連伺服器上的mysql都登錄不了,最後只能重置root密碼。
出現問題:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
vim /etc/my.cnf
有skip-grant-tables則取消註釋,沒有的話則添加。保存並退出vim。重啟mysql。
cd /usr/local/mysql/bin/
./mysql -uroot -p
不用輸入密碼,直接Enter。
登錄成功後,執行下麵命令:
use mysql; update mysql.user set password=PASSWORD('這裡是你的新密碼') where user='root'; flush privileges;
quit;
重置完成後,將剛剛添加在 /etc/my.cnf 的skip-grant-tables註釋掉,並重啟mysql。