1. 程式人生 > 其它 >CentOS 7 下 MySQL 5.7 的安裝與配置

CentOS 7 下 MySQL 5.7 的安裝與配置

本文測試環境:mysql安裝教程

  • CentOS 7 64-bit Minimal
  • MySQL 5.7

配置 yum 源

https://dev.mysql.com/downloads/repo/yum/ 找到 yum 源 rpm 安裝包

rpm 安裝包

安裝 mysql 源

# 下載
shell> wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安裝 mysql 源
shell> yum localinstall mysql57-community-release-el7-11.noarch.rpm

用下面的命令檢查 mysql 源是否安裝成功

shell> yum repolist enabled | grep "mysql.*-community.*"
mysql 源安裝成功

安裝 MySQL

使用 yum install 命令安裝

shell> yum install -y mysql-community-server

啟動 MySQL 服務

在 CentOS 7 下,新的啟動/關閉服務的命令是 systemctl start|stop

shell> systemctl start mysqld

systemctl status 檢視 MySQL 狀態

shell> systemctl status mysqld
MySQL 啟動狀態

設定開機啟動

shell> systemctl enable mysqld
# 過載所有修改過的配置檔案
shell> systemctl daemon-reload

修改 root 本地賬戶密碼

mysql 安裝完成之後,生成的預設密碼在 /var/log/mysqld.log 檔案中。使用 grep 命令找到日誌中的密碼。

shell> grep 'temporary password' /var/log/mysqld.log
檢視臨時密碼

首次通過初始密碼登入後,使用以下命令修改密碼

shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 

或者

mysql> set password for 'root'@'localhost'=password('MyNewPass4!'); 

以後通過 update set 語句修改密碼

mysql> use mysql;
mysql> update user set password=PASSWORD('MyNewPass5!') where user='root';
mysql> flush privileges;

注意:mysql 5.7 預設安裝了密碼安全檢查外掛(validate_password),預設密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 錯誤。檢視 MySQL官網密碼詳細策略

新增遠端登入使用者

預設只允許root帳戶在本地登入,如果要在其它機器上連線mysql,必須新增一個允許遠端連線的帳戶。或者修改 root 為允許遠端連線(不推薦)

新增一個允許遠端連線的帳戶

mysql> GRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@'%' IDENTIFIED BY 'Zhangsan2018!' WITH GRANT OPTION;

修改 root 為允許遠端連線(不推薦)

mysql> use mysql;
mysql> UPDATE user SET Host='%' WHERE User='root';
mysql> flush privileges;

設定預設編碼為 utf8

mysql 安裝後預設不支援中文,需要修改編碼。
修改 /etc/my.cnf 配置檔案,在相關節點(沒有則自行新增)下新增編碼配置,如下:

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

重啟mysql服務,查詢編碼。可以看到已經改過來了

shell> systemctl restart mysqld
shell> mysql -uroot -p
mysql> show variables like 'character%';
檢視編碼

預設配置檔案路徑:

配置檔案:/etc/my.cnf
日誌檔案:/var/log/mysqld.log
服務啟動指令碼:/usr/lib/systemd/system/mysqld.service
socket檔案:/var/run/mysqld/mysqld.pid

51人點贊 Linux從入門到放棄

作者:lancely
連結:https://www.jianshu.com/p/1dab9a4d0d5f
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。