安裝mysql主要分為兩種方式,本次簡單介紹使用YUM源進行安裝mysql。
1. docker環境準備
在安裝mysql之前,請先確認使用的centos版本,執行命令:cat /etc/redhat-release查看系統版本號,如下圖所示,使用的版本為centos 7.5.1804。
從centos 7.x開始,centos開始使用systemd服務來代替daemon,原來管理系統啟動和管理系統服務的相關命令全部由systemctl命令來代替。
dameon命令 |
systemctl命令 | 說明 |
---|---|---|
service start | systemctl start | 啟動服務 |
service stop | systemctl stop | 停止服務 |
service restart | system restart | 重啟服務 |
因為是使用docker,所以先創建一個容器,註意如果需要使用systemctl(centos 7版本)啟動服務的話,需要在docker run的時候運行/usr/sbin/init
2. 進入docker
使用docker exec -it mysql /bin/bash進入到容器中,並輸入systemctl –version查看systemd的版本號。
3. 配置YUM源
下載mysql,執行命令:wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安裝mysql源,執行命令:yum localinstall mysql57-community-release-el7-8.noarch.rpm
檢查mysql源是否安裝成功,執行命令:yum repolist enabled | grep "mysql.*-community.*"
修改MySQL安裝版本,執行命令:vi /etc/yum.repos.d/mysql-community.repo源。例如要安裝5.6版本,將5.7的源的enabled = 1修改為enabled = 0。然後再將5.6源的enabled=0改成enabled=1即可。
4. 安裝mysql
安裝mysql,執行命令:yum install -y mysql-community-server
5. 啟動mysql
啟動mysql服務,執行命令:systemctl start mysqld
查看服務狀態,執行命令:systemctl status mysqld
6. 設置開機啟動
設置開機啟動,執行命令:systemctl enable mysqld和systemctl daemon-reload
7. 修改登錄密碼
mysql安裝完成之後,在/var/log/mysqld.log文件中給root生成瞭一個默認密碼。通過下面的方式找到root默認密碼,然後登錄mysql進行修改。
查看登錄密碼,執行命令:grep 'temporary password' /var/log/mysqld.log
登錄mysql,執行命令:mysql -u root -p
更改密碼,執行命令:ALTER USER 'root'@'localhost' IDENTIFIED BY 'myPassword123#';
mysql5.7新增瞭密碼策略,默認策略為:必須包含大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示錯誤,如下圖所示。
查看密碼策略,執行命令:show variables like 'validate_password%';
validate_password_policy:密碼策略,默認為MEDIUM策略
validate_password_dictionary_file:密碼策略文件,策略為STRONG才需要配置
validate_password_length:密碼最短長度
validate_password_mixed_case_count:至少包含一個大小寫字符
validate_password_number_count :至少包含1個數字
validate_password_special_char_count:至少包含一個特殊字符
共有以下幾種密碼策略:
策略 | 檢查規則 |
---|---|
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
MySQL官網密碼策略詳細說明:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy
在/etc/my.cnf文件中添加如下配置禁用即可關閉密碼策略:validate_password = off
重新啟動mysql服務使配置生效:systemctl restart mysqld
登錄mysql,再次修改密碼,可以看到這次密碼更改成功瞭,如下圖所示。
8. 修改資料庫編碼
mysql資料庫的默認編碼為latin1,不支持中文,我們將編碼設置UTF-8。
編輯/etc/my.conf文件,添加如下編碼配置:
[mysqld] character_set_server=utf8 [client] default_character_set=utf8
再次重啟服務,查看編碼,可以看到編碼都已經修改UTF-8瞭。
至此MySQL的安裝已經結束瞭。