Linux環境通過Yum命令安裝Mysql5.7

在CentOS7中默認安裝有MariaDB,這個是MySQL的分支,在系統中安裝MySQL完成之後可以直接覆蓋掉MariaDB。

1. 下載並安裝MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

使用yum命令安裝MySQL

yum -y install mysql-community-server

直到安裝成功中間會安裝約2分鐘。。。

2. MySQL數據庫設置 

啓動mysql服務器

systemctl start  mysqld.service

查看mysql運行狀態

systemctl status mysqld.service

Mysql 被成功安裝後,會給出root用戶的密碼,需要通過命令獲取

grep "password" /var/log/mysqld.log

 使用命令登錄Mysql數據庫

mysql -uroot -p

 回車後,輸入上面的root密碼

登錄成功後,需要首先修改root用戶密碼 

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

在設置新密碼時,如果新密碼設置的比較簡單,則會出現如下錯誤:

 

原因是因爲MySQL有密碼設置的規範,具體是與validate_password_policy的值有關:

可以通過下面命令查看:

SHOW VARIABLES LIKE 'validate_password%';

 密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

修改密碼規則可以通過下面命令

set global validate_password_policy=0;
set global validate_password_length=1;

 爲了 防止yum自動更新,需要將repository安裝源移除

yum -y remove mysql57-community-release-el7-10.noarch

 如果需要設置mysql表字段不區分大小寫,則需要在/et/my.cnf配置文件最後添加如下內容 

lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

添加後,服務需要重啓才能生效

如果Mysql客戶端連接拒絕,則通過以下命令設置

grant all privileges on *.* to 'root'@'%' with grant option;
或 
grant all privileges on *.* to 'root'@'localhost' with grant option;

二者區別:
'root'@'%' 表示在mysql客戶端登錄root用戶,可以使用grant命令爲其他用戶賦權限
'root'@'localhost' 表示僅能在mysql所在服務器登錄root用戶,才能使用grant命令爲其他用戶賦權,生產環境推薦使用該方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章