mysql 官方下載地址:
https://dev.mysql.com/downloads/repo/yum/
查找最新的 rpm
mysqlrpm.png
下載
$ wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
確定 md5 值
$ md5sum mysql80-community-release-el7-1.noarch.rpm
739dc44566d739c5d7b893de96ee6848 mysql80-community-release-el7-1.noarch.rpm
安裝
$ sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm
因為現(xiàn)今mysql已經(jīng)更新到8.0以上了侧甫,所以可以根據(jù)需求是用5.5以上的某一個版本還是8.0等
8.0版本
$ sudo yum update -y
$ sudo yum install -y mysql-server
5.7版本
查看可安裝的版本
$ yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 51
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 63
mysql-tools-community-source MySQL Tools Community - Source disabled
mysql-tools-preview/x86_64 MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - S disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - S disabled
mysql57-community/x86_64 MySQL 5.7 Community Server disabled
mysql57-community-source MySQL 5.7 Community Server - S disabled
mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 17
mysql80-community-source MySQL 8.0 Community Server - S disabled
因為默認的是8.0的版本怪得,所以要選擇5.7的版本
$ sudo yum-config-manager --disable mysql80-community
$ sudo yum-config-manager --enable mysql57-community
下載
$ sudo yum install mysql-community-server
啟動
$ sudo systemctl start mysqld
查看運行狀態(tài)
$ sudo systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-06-01 10:35:58 UTC; 1h 39min ago
Docs: man:mysqld(8)
[http://dev.mysql.com/doc/refman/en/using-systemd.html](http://dev.mysql.com/doc/refman/en/using-systemd.html)
Process: 7474 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 7542 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysqld.service
└─7542 /usr/sbin/mysqld
Jun 01 10:35:49 bogon systemd[1]: Starting MySQL Server...
Jun 01 10:35:58 bogon systemd[1]: Started MySQL Server.</pre>
這時候mysql已經(jīng)安裝成功了,下面是配置
配置
Mysql 在安裝時會默認設置一個隨機密碼,需要在第一次使用時修改
查看密碼
$ sudo grep 'temporary password' /var/log/mysqld.log
2018-06-01T10:35:51.710406Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Vq9wOQ&trFs*
首先使用默認密碼登錄 Mysql
$ mysql -uroot -p
查看所有 validatei_password
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM|
| validate_password.special_char_count | 1 |
| validate_password_check_user_name | ON |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM|
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
14 rows in set (0.00 sec)
這時候會看到mysql的密碼策略
There are three levels of password validation policy:
# 長度大于 8 位
LOW Length >= 8
# 長度大于 8 位狼忱,數(shù)字蹋半,混合大小寫和特殊字符
MEDIUM Length >= 8, numeric, mixed case, and special characters
# 長度大于 8 位,數(shù)字顺饮,混合大小寫火焰,特殊字符和字典
STRONG Length >= 8, numeric, mixed case, special characters and dictionary
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
他們分別對應了數(shù)字 0, 1, 2,Mysql 默認的等級為 MEDIUM胧沫,所以輸入普通的密碼就會報錯昌简,怎樣修改策略呢占业?
所以當出現(xiàn)下面的錯誤的時候,有可能就是因為密碼強度的問題
Failed! Error: Your password does not satisfy the current policy requirements
所以可以根據(jù)你想達到的安全程度纯赎,設置密碼谦疾,比如我這里設置為最低:
set global validate_password_policy=0;
## 如果你不想讓長度必須大于 8 位,也可以改為 4犬金,這是最低長度
set global validate_password_length=4;
隨后修改mysql密碼:
set password=password('111111');
最后可以將訪問權限全部對外開放
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wxnacy' WITH GRANT OPTION;
也可以指定 ip 開放
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.33.11' IDENTIFIED BY 'wxnacy' WITH GRANT OPTION;
最后使配置生效
flush privileges;
mysql 新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統(tǒng)權限相關表念恍,否則會出現(xiàn)拒絕訪問,還有一種方法晚顷,就是重新啟動mysql服務器峰伙,來使新設置生效