Centos7 安裝mysql8.0.19

操作系統:阿里雲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解壓後一共有8個rpm安裝包

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章