CentOS7下yum安裝MySQL5.7
-
配置 yum 源
-
下載 mysql 源安裝包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
-
安裝MySQL源
shell> yum localinstall mysql57-community-release-el6-9.noarch.rpm
-
檢查 YUM 源是否安裝成功
shell> yum repolist enabled | grep "mysql.*-community.*" mysql-connectors-community MySQL Connectors Community 21 mysql-tools-community MySQL Tools Community 38 mysql57-community MySQL 5.7 Community Server 130
-
-
安裝MySQL
$ sudo yum install mysql-community-server
-
此時安裝時會出現以下報錯:
-
解決辦法:修改/etc/yum.repos.d/mysql-community.repo 原始檔,增加一行,將6改為7,並註釋掉原來那一行
-
此時重新執行yum安裝命令:
-
$ sudo yum install mysql-community-server
-
-
啟動MySQL服務
-
開機自啟動服務
$ sudo systemctl enable mysqld
-
啟動MySQL服務
$ sudo systemctl start mysqld
-
檢視服務狀態
$ sudo systemctl status mysqld
-
-
修改root預設密碼
-
檢視預設密碼
MySQL 5.7 啟動後,在 /var/log/mysqld.log 檔案中給 root 生成了一個預設密碼;檢視此檔案找到密碼
-
使用預設的root密碼登入MySQL並修改root的密碼
$ mysql -u root -p Enter password: mysql> ALTER USER 'root'@'localhost'
注意:MySQL 5.7 預設安裝了密碼安全檢查外掛(validate_password),預設密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於 8 位。
-
通過 MySQL 環境變數可以檢視密碼策略的相關資訊:
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password_check_user_name | OFF | | 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 | +--------------------------------------+--------+
-
指定密碼校驗策略:
$ sudo vi /etc/my.cnf
新增如下鍵值(0=LOW, 1=MEDIUM, 2=STRONG),將值改為0之後只校驗密碼的長度,不再校驗複雜度,可設定為12345678
validate_password_policy=0
-
禁用密碼策略:
新增如下鍵值,此時再重啟MySQL服務後,可將MySQL密碼設定為任何值,如:0
validate_password = off
-
重啟 MySQL 服務,使配置生效
$ sudo systemctl restart mysqld
-
-
使使用者可遠端登入
MySQL 預設只允許 root 帳戶在本地登入,如果要在其它機器上連線 MySQL,必須修改 root 允許遠端連線,或者新增一個允許遠端連線的帳戶,為了安全起見,本例新增一個mysql密碼為1的新賬戶:
mysql> select Host,User from mysql.user; +-----------+---------------+ | Host | User | +-----------+---------------+ | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 3 rows in set (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY '1' WITH GRANT OPTION; mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
ALL:代表接受所有操作,比如 select,insert,delete….;
.:代表所有庫下面的所有表;
%:代表這個使用者允許從任何地方登入;為了安全期間,這個%可以替換為你允許的ip地址;
-
配置預設編碼為utf8
-
MySQL 預設為 latin1, 一般修改為 UTF-8
$ vi /etc/my.cnf
-
在[myslqd]下新增如下鍵值對
character_set_server=utf8 init_connect='SET NAMES utf8'
-
重啟 MySQL 服務,使配置生效
$ sudo systemctl restart mysqld
-
檢視編碼格式是否已經生效
mysql> SHOW VARIABLES LIKE 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
-
-
開啟防火牆埠
$ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent $ sudo firewall-cmd --reload
轉自:https://qizhanming.com/blog/2017/05/10/centos-7-yum-install-mysql-57