CentOS 7下安裝與配置MySQL 5.7
本文測試環境:
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 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 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/var/log/mysqld.log
服務啟動指令碼:/usr/lib/systemd/system/mysqld.service
socket檔案:/var/run/mysqld/mysqld.pid