CentOS7.5安裝MySQL8.0.18簡易流程


1.清理環境

①卸載已安裝的mysql

$ rpm -qa | grep mysql
# 結果如下
mysql-community-common-8.0.18-1.el7.x86_64
mysql-community-client-8.0.18-1.el7.x86_64
mysql-community-libs-8.0.18-1.el7.x86_64

# 使用以下命令依次刪除上面的程序
$ yum remove mysql-xxx-xxx-

②刪除mysql的配置文件

$ find / -name mysql|xargs rm -fr

③刪除MariaDB的文件

$ rpm -qa | grep mariadb
$ rpm -e mariadb-xxx --nodeps

2.下載mysql8.0包

下載地址
QQ截圖20200416003402.png

3.安裝mysql8.0

①創建目錄

$ mkdir -p /usr/local/mysql && cd /usr/local/mysql
$ rz mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar.tar
$ tar xf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar.tar

[root@sonar /usr/local/mysql]# ll
total 1.3G
mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar.tar
mysql-community-client-8.0.18-1.el7.x86_64.rpm
mysql-community-common-8.0.18-1.el7.x86_64.rpm
mysql-community-devel-8.0.18-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.18-1.el7.x86_64.rpm
mysql-community-libs-8.0.18-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.18-1.el7.x86_64.rpm
mysql-community-server-8.0.18-1.el7.x86_64.rpm
mysql-community-test-8.0.18-1.el7.x86_64.rpm

②安裝

$ rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm  --nodeps --force
$ rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm --nodeps --force
$ rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm --nodeps --force
$ rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm --nodeps --force
$ yum install libaio -y

# 檢查
[root@sonar /usr/local/mysql]# rpm -qa | grep mysql
mysql-community-common-8.0.18-1.el7.x86_64
mysql-community-libs-8.0.18-1.el7.x86_64
mysql-community-server-8.0.18-1.el7.x86_64
mysql-community-client-8.0.18-1.el7.x86_64

③初始化

$ mysqld --initialize
$ chown mysql:mysql /var/lib/mysql -R
$ systemctl start mysqld.service
$ systemctl enable mysqld

④啟動報錯

[root@sonar /usr/local/mysql]#  systemctl start mysqld.service
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
    
# 查看日志
[root@sonar /var/lib]# cat /var/log/mysqld.log|grep 'initialize'
2020-04-16T16:10:57.488085Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
    
# 查看配置文件
[root@sonar /var/lib]# cat /etc/my.cnf|grep "datadir"
datadir=/var/lib/mysql
    
# 解決
將這個mysql目錄備份后重啟即可,由於這個mysql目錄含有證書認證,改名備份后啟動不再進行認證。
    
$ cd /var/lib/ && mv mysql mysql.bak
$ systemctl start mysqld
$ systemctl enable mysqld
$ systemctl status mysqld
$ netstat -anlptu|grep 3306 # 監聽33060和3306證明啟動正常

⑤修改密碼

  • 查看密碼
[root@sonar ~]# cat /var/log/mysqld.log | grep password
2020-04-16T16:13:23.042762Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: MbIq4xlV6-3*
  • 登錄
# 使用剛才的密碼登錄,復制粘貼即可
$ mysql -uroot -p
  • 修改密碼
# 密碼規則:至少大寫+小寫+符號+數字
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Oldboy@123'; 
  • 授權遠程訪問用戶
create user 'root'@'%' identified with mysql_native_password by 'Oldboy@123';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

轉載:https://www.pingface.com/archives/mysql80


免責聲明!

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



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