突然發現我的新伺服器上沒有mysql,所以想安裝一個,上次在我的window電腦上安裝MySQL8.0我真的要氣死了,和5.7修改密碼的方式不一樣,弄了很久,所以我決定還是不用安裝8.0了,5.7就可以了。安裝MySQL有很多細節需要註意的,這應該就是為什麼程式員經驗那麼重要的原因吧。 然後同樣有兩 ...
突然發現我的新伺服器上沒有mysql,所以想安裝一個,上次在我的window電腦上安裝MySQL8.0我真的要氣死了,和5.7修改密碼的方式不一樣,弄了很久,所以我決定還是不用安裝8.0了,5.7就可以了。安裝MySQL有很多細節需要註意的,這應該就是為什麼程式員經驗那麼重要的原因吧。
然後同樣有兩種方式安裝,直接安裝,或者放在docker裡面安裝,這裡我為了省事就直接安裝了。
進入正題:
首先我們需要去官網找下載地址,我就直接貼出來:http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
然後直接輸入
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
然後就可以開始安裝了:
yum -y install mysql57-community-release-el7-10.noarch.rpm
這裡就不放圖片了,看到complete!就是成功了。
有了rpm之後,我們就可以直接安裝MySQL了:
yum -y install mysql-community-server
安裝完之後我們需要重啟MySQL:
systemctl restart mysqld
然後可以查看MySQL的埠號:
netstat -anplt
MySQL預設埠號是 3306 ,但是此時我們不知道MySQL的密碼,我們需要去找到密碼:
grep "password" /var/log/mysqld.log
找到之後就進入MySQL:
mysql -uroot -p
然後輸入剛纔的密碼就進入MySQL了,但是不能做任何事情,因為MySQL預設必須修改密碼之後才能操作資料庫修改密碼命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
這裡MySQL會提示你密碼過於簡單,無法修改,正常需要8位長度,混合大小寫以及一位特殊符號。
重新修改完成之後,我們可以查看密碼規則:
SHOW VARIABLES LIKE 'validate_password%';
然後再修改密碼規則:
set global validate_password_policy=LOW;
設置密碼長度:
SET GLOBAL validate_password_length=6;
再次修改密碼就行了。為了防止更新帶了的問題,我們需要刪除源自動更新,因為安裝了Yum Repository,以後每次yum操作都會自動更新,因為當前資料庫已安裝完成,所以把這個卸載掉:
yum remove mysql57-community-release.noarch
然後初始化資料庫:
mysql_secure_installation
這是我們需要輸入密碼,然後一直按回車就可以了。那麼MySQL就安裝好了,那此時我們發現並不能遠程登陸。
所以首先我們需要防火牆開放3306的埠。
firewall-cmd --list-ports
然後查看到
確實沒有開放3306這個埠,開放埠
firewall-cmd --permanent --zone=public --add-port=3306/tcp
重啟防火牆,一定要重啟才有效:
systemctl restart firewalld
如果是阿裡雲伺服器的話,需要進入控制台將伺服器防火牆的規則修改,開放3306這個埠就可以了。當一切都做好的時候,發現還是無法遠程連接MySQL,這個時候需要進入MySQL授權遠程登陸:先進入MySQL,然後
use mysql
然後將所有資料庫的所有表(*.*)的所有許可權(all privileges),授予通過任何ip(%)訪問的root用戶,密碼為1234
mysql> grant all privileges on *.* to 'root'@'%' identified by '1234';
最後刷新就可以了
flush privileges;
然後退出MySQL,在重啟MySQL就可以啦,就可以遠程訪問了。
本博文參考的博文:https://blog.51cto.com/13043516/2093766
以及https://www.cnblogs.com/rongfengliang/p/5727088.html,謝謝兩位作者!