1. 程式人生 > >Cent OS7 安裝Mysql8.0

Cent OS7 安裝Mysql8.0

第一部分清理環境


1.1 安裝前清理工作;
1.1.1 清理原有的mysql資料庫;

使用以下命令查找出安裝的mysql軟體包和依賴包:

# rpm -qa | grep mysql  // 這個命令就會檢視該作業系統上是否已經安裝了mysql資料庫

如果系統有安裝,那可以選擇進行解除安裝

[[email protected] ~]# rpm -e mysql // 普通刪除模式
[[email protected] ~]# rpm -e --nodeps mysql // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它檔案,則用該命令可以對其進行強力刪除

 

1.1.2 刪除MariaDB的檔案,

由於MySQL在CentOS7中收費了,所以已經不支援MySQL了,取而代之在CentOS7內部集成了mariadb,而安裝MySQL的話會和MariaDB的檔案衝突,所以需要先解除安裝掉MariaDB.

使用rpm 命令查找出要刪除的mariadb檔案;

rpm -pa | grep mariadb

可能的顯示結果如下:

mariadb-libs-5.5.56-2.el7.x86_64

刪除上面的程式

rpm -e mariadb-libs-5.5.56-2.el7.x86_64

可能出現錯誤提示如下:

    依賴檢測失敗:
     
 

    libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
     
    libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
     
    libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

使用強制刪除:

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

至此就將原來有的mysql 和mariadb資料庫刪除了

第二部分 下載 REPO檔案並安裝

1.下載地址 http://dev.mysql.com/downloads/mysql/ 

 

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

 更新yum

    yum clean all
    yum makecache

第三部分 安裝mysql

第一步: 檢視mysql yum倉庫中mysql版本,使用如下命令

yum repolist all | grep mysql

可以看到 MySQL 5.5 5.6 5.7為禁用狀態 而MySQL 8.0為啟用狀態;

安裝mysql 命令如下:

yum install mysql-community-server

開啟mysql 服務

systemctl start mysqld.service

獲取初始密碼登入mysql

mysql在安裝後會建立一個[email protected]賬戶,並且把初始的密碼放到了/var/log/mysqld.log檔案中;

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


使用初始密碼登入mysql,-p後緊跟輸入密碼,不用空格

mysql -u root -p

修改初始密碼,初始密碼長度不能少於8位,要有大小寫,要有數字,要有特殊字元

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

 檢視密碼策略引數

SHOW VARIABLES LIKE 'validate_password%';

修改密碼策略引數,=號左右不能接空格

set global validate_password.policy='LOW';

將mysql 服務加入開機啟動項,並啟動mysql程序

   

systemctl enable mysqld.service
systemctl start mysqld.service

建立並新增遠端賬戶

create user '*****'@'%' identified by '******';
GRANT ALL ON *.* TO '*****'@'%';

在防火牆中開啟3306埠

CentOS7預設使用的是firewall作為防火牆,我這裡改為習慣常用的iptables防火牆

第一步: 關閉firewall防火牆

   

 systemctl stop firewalld.service
 systemctl disable firewalld.service
 systemctl mask firewalld.service

第二步: 安裝iptables防火牆

yum install iptables-services -y

第三步: 啟動iptable防火牆

   

systemctl enable iptables
systemctl start iptables

第四步: 編輯防火牆增加埠 防火牆檔案位置為: /etc/sysconfig/iptables

vim /etc/sysconfig/iptables

在倒數第三行上增加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT


第五步: 重啟防火牆

 

   systemctl enable iptables.service
   systemctl start iptables.service

參考文章連結:

1.https://blog.csdn.net/f7anty/article/details/51959463

2.https://blog.csdn.net/managementandjava/article/details/80039650

3.https://www.linuxidc.com/Linux/2018-10/154879.htm