去 MySQL官網下載MySQL的rpm安裝包,點擊下載地址:下載地址
如果是直接在Linux中下載,則使用:
# wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
如果是在windows下下載,使用winSCP或者其他工具將其移動到Linux中即可。
2、本地安裝YUM源
# yum localinstall mysql57-community-release-el7-8.noarch.rpm
3、安裝MySQL
# yum install mysql-community-server
4、啓動MySQL並加入開機啓動# systemctl start mysqld
# systemctl enable mysqld
# systemctl daemon-reload
5、修改root密碼
MySQL安裝完成之後,在/var/log/mysqld.log文件中爲root用戶生成了一個隨機的默認密碼。可以通過以下方式查看,之後可登陸MySQL進行修改:
#grep 'temporary password' /var/log/mysqld.log
這裏需要注意:MySQL5.7默認的密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤。
通過msyql環境變量可以查看密碼策略的相關信息:
mysql> show variables like '%password%';
說明:
validate_password_dictionary_file:密碼策略文件,策略爲STRONG才需要
validate_password_length:密碼最少長度
validate_password_mixed_case_count:大小寫字符長度,至少1個
validate_password_number_count :數字至少1個
validate_password_special_char_count:特殊字符至少1個 上述參數是默認策略MEDIUM的密碼檢查規則。
validate_password_policy:密碼策略,默認爲MEDIUM策略 ,共有如下三種密碼策略:
策略 | 檢查規則 |
---|---|
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 |
當然我們也可以通過修改/etc/my.cnf文件,通過添加validate_password_policy配置,來指定密碼策略,如下:
validate_password_policy=0 #0(LOW),1(MEDIUM),2(STRONG)其中一種,注意2需要提供密碼字典文件
如果不需要密碼策略,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off
修改完後記得需要重新啓動MySQL服務6、添加遠程登陸用戶
在我們使用mysql數據庫時,有時我們的程序與數據庫不在同一機器上,這時我們需要遠程訪問數據庫。缺省狀態下,mysql的用戶沒有遠程訪問的權限。
以下語句賦予root用戶從任意主機訪問MySQL服務器:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
以下語句賦予user用戶使用password密碼從任何主機訪問MySQL服務器:mysql>GRANT ALL PRIVILEGES ON *.* TO 'user'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES #使修改生效
注意:
a、如果沒有開啓防火牆,則不需要配置開放3306端口,如果打開了firewall或者iptables防火牆,則需要在防火牆裏打開3306防火牆,例如對於iptables的防火牆:
#sudo vim /etc/sysconfig/iptables
並在該文件內添加如下配置:-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
退出並保存後重啓防火牆:#sudo service iptables restart
b、如果該MySQL是部署在騰訊雲/阿里雲上的,則還需要按照他們的規則打開對外暴露的端口,例如騰訊雲,默認只開啓了22,內網所有端口全通,所以外網訪問3306端口時需要通過騰訊安全組開通,而且默認linux操作系統沒有安裝防火牆。所以需要通過添加安全組來打開3306。
至此,CentOS7上安裝MySQL完成