阿里雲CentOS7部署MySql8.0


本文主要介紹了阿里雲CentOS7如何安裝MySql8.0,並對所踩的坑加以記錄;

環境、工具、准備工作

  • 服務器:阿里雲CentOS 7.4.1708版本;
  • 客戶端:Windows 10;
  • SFTP客戶端:FileZilla;用來進行文件傳輸;
  • SSH工具:Putty;用來在Windows 上遠程訪問CentOS;
  • 下載文件;

因為最新的CentOS7放棄了對MySQL的支持,所以需要我們到MySql官網下載mysql的repo源(官方地址)默認下載第一個就行;

 

開始安裝MySql8.0

1.環境初始化

使用putty連接阿里雲CentOS;並根據相關提示輸入賬戶密碼登錄即可(建議以root權限登錄)如下圖:

如果服務器原來有安裝MySQL請先卸載清除;

使用下面命令查找出當前服務器安裝的MySql的安裝和依賴包名稱;如果你的阿里雲是新的,請跳過刪除環節;

rpm -pa | grep mysql

使用刪除命令依次刪除上面命令查詢出的結果;我的服務器是新的,所以並沒有安裝和依賴包;

yum remove mysql-xxx-xxx
mysql-xxx-xxx 指的是你用rpm -pa | grep mysql查詢出來的結果的完整名稱;

用如下命令查找到配置文件所在路徑;

find / -name mysql

因為是新服務器,所以並沒有過多的配置信息;

刪除命令,根據你服務器具體情況判斷是否使用;

rm -rf /xxx/xxx/xxx
/xxx/xxx/xxx指的是你用find / -name mysql查詢的完成目錄路徑如:/etc/selinux/targeted/active/modules/100/mysql;
網上很多資料說需要刪除mariadb,阿里雲的CentOS並沒有集成,所以不需要刪除mariadb,如你環境需要,請自行百度;

2.安裝MySql8.0

使用putty或FileZilla工具將你下載的mysql repo文件上傳到Centos系統/usr/local/mysql文件夾下;

putty上傳如下:

pscp mysql源文件的物理地址 root@xxx.xxx.xxx.xxx:/usr/local/mysql/
putty請在Windows的命令行工具中使用pscp命令上傳; xxx.xxx.xxx.xxx指的是阿里雲的服務器地址,mysql的源文件地址是下載到你本機的物理地址;

FileZilla工具上傳如下圖:

使用命令行安裝MySql yum repo文件,並更新緩存信息;

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

使用以下命令清理緩存和臨時文件;

yum clean all

使用命令安裝MySql:

yum install mysql-community-server

等候網絡下載安裝MySql;如果有Is this ok [y/N]: 提示 輸入y就行;

用命令開啟MySQL服務

systemctl start mysqld.service

成功啟動MySQL服務后,用命令打開/var/log/mysqld.log文件;MySQL安裝后會默認創建一個root@locahost賬戶,並把原始密碼存放在mysqld.log文件中;

cat /var/log/mysqld.log | grep password

用上面的密碼登錄MySql;

mysql -u root -p

請注意大小寫及特殊字符;如果有提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)表示你密碼輸入不正確;

登錄成功的第一件事當然是修改密碼了;

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';

此處要注意MySQL8.0 修改了密碼規則,必須要有大小寫,數組及特殊字符組成;

提示Query OK, 0 rows affected (0.08 sec)表示修改成功;可以quit命令重新登錄試試;使用如下命令查詢我們的MySql是否安裝正確;

select version();

看到這里,恭喜,你已經成功的將MySql安裝到了阿里雲CentOS7上;

3.使用MySql管理工具訪問MySql

我使用的是SQLYog工具,導航貓的配置也一樣;

使用命令開啟CentOS的防火牆;

systemctl start firewalld.service

開放MySql 3306端口;

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重啟firewall

systemctl restart firewalld.service

將MySql服務加入到開機啟動項,並重啟MySql服務;

systemctl enable mysqld.service
systemctl restart mysqld.service

此時你還無法使用工具訪問MySql,會提示2003錯誤;因為MySQL默認是不能進行遠程訪問的,需要我們去設置,操作如下:

mysql -u root -p;
use mysql;
update user set host='%' where user='root';

授權MySql遠程訪問;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

現在我們嘗試使用工具去連接MySql還是會提示2003錯誤;各種百度后發現是阿里雲安全規則限制;

修改阿里雲的安全規則,開放3306端口;

再次嘗試連接發現提示2058錯誤,上面已經說了,MySql 8.0 以后修改了密碼規則;所以我們得修改一下規則;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密碼';

你的密碼指的是你重新設置的密碼,一定要符合MySql 8.0的密碼要求;否則會設置失敗;

刷新下權限

FLUSH PRIVILEGES

至此,阿里雲CentOS7安裝MySql8.0 已經結束;

如果這篇博文對你有所幫助,麻煩動動手指點個贊^-^

 

 

 


免責聲明!

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



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