操作系統:阿里雲CentOS7
MySQL版本:V8.0.19
1、安裝前卸載mariadb
# rpm -qa | grep mariadb
# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
2、# cd /usr/local/bin/
3、下載mysql redHat版本
# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
4、解包
# tar -xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
5、解壓後一共有8個安裝包,依次執行rpm -ivh [安裝包名稱].rpm --nodeps --force
命令安裝。以下是我執行命令的順序(安裝了7個,測試包沒有安裝)
1、# rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm --nodeps --force
2、# rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm --nodeps --force
3、# rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm --nodeps --force
4、# rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm --nodeps --force
5、# rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm --nodeps --force
6、# rpm -ivh mysql-community-embedded-compat-8.0.19-1.el7.x86_64.rpm --nodeps --force
7、# rpm -ivh mysql-community-devel-8.0.19-1.el7.x86_64.rpm --nodeps --force
使用# rpm -qa | grep mysql
查看已安裝的mysql包
6、mysqld初始化
# mysqld --initialize;
如果報錯error while loading shared libraries: libaio.so.1: cannot open shared object file
則需要先執行
# yum install -y libaio
安裝libaio異步IO組件,然後初始化mysqld
7、啓動mysqld
# systemctl start mysqld.service
或者# service mysqld restart
如果啓動報錯“Job for mysqld.service failed because the control process exited with error code”
可以嘗試刪掉初始化信息# rm -rf /var/lib/mysql
然後啓動(此處我沒有驗證,是不是可以跳過第六步直接啓動)
8、修改root初始密碼
1)# cat /var/log/mysqld.log | grep password
命令查看數據庫root用戶的初始化密碼
2)# mysql -uroot -p
root用戶登陸,密碼使用初始化密碼
3)mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
修改root密碼爲123456
9、開啓mysql遠程訪問
1)阿里雲控制檯添加安全組規則,開放3306端口
2)查看firewall啓用情況和端口開放情況,用到的命令如下
# systemctl status firewalld ##查看防火牆啓用情況
# firewall-cmd --list-port ##查看防火牆開放端口情況
# firewall-cmd --zone=public --add-port=3306/tcp --permanent ##開放端口3306
# firewall-cmd --reload ## 端口開放reload生效
# netstat -nltp # 端口使用情況
3)創建mysql遠程訪問用戶
# mysql -u root -p ##登陸mysql
mysql> use mysql; ##打開mysql系統庫
mysql> select host,user from user where user='root'; ## 查看root用戶,默認只有host爲localhost的root用戶
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '123456'; ## 創建host爲%號的root遠程用戶
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; ##將遠程訪問用戶的驗證方式改爲: msyql_native_password
mysql> grant all privileges on *.* to 'root'@'%' ; ##授權
mysql> flush privileges; ##更改生效
參考:
https://baijiahao.baidu.com/s?id=1649440975682362894&wfr=spider&for=pc
https://blog.csdn.net/eagle89/article/details/78411184
https://blog.csdn.net/aiyowei1106/article/details/88703746
https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/updategrole.html
https://www.jianshu.com/p/c73eba1472ff