5.7和8.15版本親測。centos版本為:CentOS-7-x86_64-Minimal-1810。
1、下載mysql57-community-release-el7-9.noarch.rpm。下載地址:http://dev.mysql.com/downloads/repo/yum/
2、安裝rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
3、/etc/yum.repos.d目錄下查看到mysql的源信息
4、查看可用的mysql安裝源
yum repolist enabled | grep mysql
5、執行安裝
yum install mysql-community-server
6、設置開機啟動並啟動mysql服務
systemctl enable mysqld
systemctl start mysqld
7、查看系統默認生成的密碼(下面紅色標記部分為系統默認生成的密碼)
grep 'temporary password' /var/log/mysqld.log
8、登錄並修改默認密碼(不重置密碼無法查看數據庫)
注意,下面輸入密碼的時候不會有字符出現。
mysql -u root -p
mysql> set password = password('!QAZ2wsx');
mysql8.x已經作廢了password函數,可以用新的方式修改密碼:
alter user 'root'@'localhost' identified by '!QAZ2wsx';
9、重新登錄后即可查看數據庫結構
mysql> show databases;
10、修改密碼安全策略
57版本
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
8.x版本
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
11、允許所有主機均可使用root/abc123(用戶/密碼)遠程訪問數據庫
注意這里的root用戶和前面的root不同,前面的root還是需要用!QAZ2wsx密碼登錄。
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
mysql8.x的遠程登錄的root用戶是不存在的,必須要先創建。
create user 'root'@'%' identified by 'abc123'; #創建用戶
grant all on *.* to 'root'@'%' with grant option; #授權
flush privileges; #刷新權限
查看用戶可以使用SQL語句:select host, user from mysql.user;
12、防火牆開放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
使用客戶端工具連接數據,測試成功!
13、啟動、關閉、重啟服務
systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld