Linux centos7安裝MySql8
阿新 • • 發佈:2021-10-30
一.
[root@localhost ~]# rpm -qa|grep mysql
二.解除安裝舊版mysql
[root@localhost ~]# yum remove mysql mysql-server mysql-libs mysql-common
[root@localhost ~]# rm -rf /var/lib/mysql
[root@localhost ~]# rm /etc/my.cnf
三.搭建網路yum源
- 安裝yum源
yum localinstall mysql80-community-release-el7-3.noarch.rpm #此處名稱與yum源名一致
- 安裝MySql
yum -y install mysql-community-server
六.配置MySql
- 啟動MySql
systemctl start mysqld.service #啟動和停止mysql systemctl restart mysqld.service #重啟mysql systemctl status mysqld.service #檢視msyql狀態 systemctl stop mysqld.service #停止mysql #mysqld為mysql預設的服務名稱。在linux中mysql的配置檔案在/etc/my.cnf 中 #service命令是redhat公司提供的管理服務的命令
- 檢視MySql隨機密碼
cat /var/log/mysqld.log | grep password
- 設定密碼複雜度規則
#1、先按mysql密碼策略修改密碼 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root_123R'; #2、修改mysql密碼複雜性策略 set global validate_password.policy=0; #關閉密碼複雜性策略 set global validate_password.length=1; #設定最低密碼長度為1
- 開啟MySql遠傳訪問許可權
#1、進入到系統資料庫mysql,修改該庫下user表的host列 update user set host='%' where user='root'; #2、執行兩次下面的命令 grant all privileges on test.* to 'root'@'%'; #3、重新整理資料庫配置 flush privileges;
- 關閉防火牆或開放防火牆埠
#臨時關閉防火牆,系統重啟後無效 systemctl stop firewalld.service #開放防火牆3306埠 firewall-cmd --zone=public --add-port=3306/tcp --permanent #檢視防火牆開放的埠 firewall-cmd --list-ports #重啟防火牆 systemctl restart firewalld
- 修改密碼加密規則
- 問題原因 : 如果使用mysql客戶端連線linux上的mysql可能會報如下錯誤,該錯誤是因為mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password, 使用Navicat連線報錯2059
- 解決步驟
#進入到mysql資料庫 use mysql; #更改加密方式 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改密碼 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #重新整理資料庫配置 flush privileges;