----------- 注意安裝mysql-8.0.20前要先刪除本機(jī)安裝的mariadb
0. 防火墻放行3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
1. 檢查已經(jīng)安裝的mariadb茸塞,若安裝了习霹,先刪除
1.1 查看
rpm -qa | grep mariadb
1.2 刪除
- 方法一:
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
- 方法二:
yum -y remove mariadb-libs-5.5.60-1.el7_5.x86_64
2. 安裝
2.1 更新yum源
yum update
2.2 下載MySQL yum包
比較難的就是找 yum源的地址镜雨,其實(shí)mysql官方已經(jīng)給出了乙嘀,就在安裝包的下載頁面:
下載当叭,只要更新后面的yum包就行:
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
2.3 安裝軟件源
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
2.4 安裝MySQL
yum install mysql-community-server -y
2.5 啟動服務(wù)
systemctl start mysqld
systemctl status mysqld
3. 修改密碼
3.1 查看MySQL默認(rèn)密碼
grep 'temporary password' /var/log/mysqld.log
3.2 登錄MySQL
mysql -u root -p
3.3 修改新密碼, 順便設(shè)置加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
若報(bào)錯ERROR 1819 (HY000): Your password does not satisfy the current policy requirements职祷,看下面
3.4 mysql8密碼策略
-
查看策略:
SHOW VARIABLES LIKE 'validate_password%';
關(guān)于 mysql 密碼策略相關(guān)參數(shù)氏涩; 1. validate_password_length 固定密碼的總長度; 2. validate_password_dictionary_file 指定密碼驗(yàn)證的文件路徑有梆; 3. validate_password_mixed_case_count 整個密碼中至少要包含大/小寫字母的總個數(shù)是尖; 4. validate_password_number_count 整個密碼中至少要包含阿拉伯?dāng)?shù)字的個數(shù); 5. validate_password_policy 指定密碼的強(qiáng)度驗(yàn)證等級泥耀,默認(rèn)為 MEDIUM饺汹; 關(guān)于 validate_password_policy 的取值: 0/LOW:只驗(yàn)證長度; 1/MEDIUM:驗(yàn)證長度爆袍、數(shù)字首繁、大小寫、特殊字符陨囊; 2/STRONG:驗(yàn)證長度弦疮、數(shù)字、大小寫蜘醋、特殊字符胁塞、字典文件; 6. validate_password_special_char_count 整個密碼中至少要包含特殊字符的個數(shù)压语;
若不做修改啸罢,則新密碼要包含數(shù)字、大小寫胎食、特殊字符扰才,且長度至少為8。不建議做修改厕怜,用默認(rèn)的密碼策略就行衩匣。
-
可修改密碼策略
- 設(shè)置密碼的驗(yàn)證強(qiáng)度等級,設(shè)置 validate_password_policy 的全局參數(shù)為 LOW 即可:
set global validate_password_policy=LOW;
- 設(shè)置密碼長度:
set global validate_password_length=6;
- 設(shè)置密碼的驗(yàn)證強(qiáng)度等級,設(shè)置 validate_password_policy 的全局參數(shù)為 LOW 即可:
4. 設(shè)置遠(yuǎn)程連接
4.1 添加新root賬號
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '上面新設(shè)置的密碼';
4.2 給予root權(quán)限
grant all privileges on *.* to 'root'@'%';
4.3 刷新權(quán)限
FLUSH PRIVILEGES;
4.4 退出mysql粥航,重啟一下mysql
quit;
systemctl restart mysqld
5. 設(shè)置mysql自啟
systemctl enable mysqld
6. 修改mysql端口號
- mysql安裝好以后琅捏,配置文件位置
/etc/my.cnf
- 在配置文件中添加如下:
[mysqld] port=12345
- 重啟服務(wù)
systemctl restart mysqld
- 進(jìn)入mysql,查看端口
mysql -u root -p mysql> show global variables like 'port';
- 配置文件中還可以配置其他递雀,自己按需修改
[mysql] #設(shè)置mysql客戶端默認(rèn)字符集 default-character-set=utf8mb4 [mysqld] #設(shè)置3306端口 port=3306 #允許最大連接數(shù) max_connections=1000 #允許連接失敗的次數(shù)柄延。 max_connect_errors=10 #最大允許包 max_allowed_packet=10M #服務(wù)端使用的字符集默認(rèn)為utf8mb4 character-set-server=utf8mb4 collation_server = utf8mb4_general_ci #創(chuàng)建新表時將使用的默認(rèn)存儲引擎 default-storage-engine=INNODB # mysql8中“mysql_native_password”插件認(rèn)證不讓用了,改成默認(rèn)的caching_sha2_password default_authentication_plugin=caching_sha2_password