1、檢測下系統有沒有自帶的mysql:yum list installed | grep mysql, 
如果已經有的話執行命令yum -y remove mysql-libs.x86_64卸載已經安裝的mysql。 

 

http://dev.mysql.com/downloads/mysql/

2、先到mysql官網下載5.7.11的安裝包,download-yum選擇Red Hat Enterprise Linux 7 / Oracle Linux 7 (ArchitectureIndependent), RPM Package , 
進入系統下載安裝包: 

1
#wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

 

如果新的系統還沒有wget命令的話可以先:

1
#yum install wget


3、添加選擇yum源: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#yum localinstall mysql57-community-release-el7-7.noarch.rpm
Running transaction
   正在安裝    : mysql57-community-release-el7-7.noarch                         1 /1 
   驗證中      : mysql57-community-release-el7-7.noarch                         1 /1 
 
已安裝:
   mysql57-community-release.noarch 0:el7-7                                         
 
完畢! 
 
#yum repolist all | grep mysql
mysql-connectors-community /x86_64  MySQL Connectors Community         啟用:    21
mysql-connectors-community- source  MySQL Connectors Community - Sourc 禁用
mysql-tools-community /x86_64       MySQL Tools Community              啟用:    36
mysql-tools-community- source       MySQL Tools Community - Source     禁用
mysql55-community /x86_64           MySQL 5.5 Community Server         禁用
mysql55-community- source           MySQL 5.5 Community Server - Sourc 禁用
mysql56-community /x86_64           MySQL 5.6 Community Server         禁用
mysql56-community- source           MySQL 5.6 Community Server - Sourc 禁用
mysql57-community /x86_64           MySQL 5.7 Community Server         啟用:   110
mysql57-community- source           MySQL 5.7 Community Server - Sourc 禁用

 

 4、安裝mysql: 

1
2
3
4
5
6
7
8
9
10
11
#yum install mysql-community-server
已安裝:
   mysql-community-libs.x86_64 0:5.7.14-1.el7            mysql-community-libs-compat.x86_64 0:5.7.14-1.el7            mysql-community-server.x86_64 0:5.7.14-1.el7           
 
作為依賴被安裝:
   mysql-community-client.x86_64 0:5.7.14-1.el7                                         mysql-community-common.x86_64 0:5.7.14-1.el7                                        
 
替代:
   mariadb-libs.x86_64 1:5.5.44-2.el7.centos                                                                                                                                 
 
完畢!

 

 5、安裝完成之后會自動在log中生成連接的密碼, 

 

啟動mysql: 

1
#systemctl start mysqld


查看密碼: 

1
2
[root@mysqlA ~] # cat /var/log/mysqld.log |grep password
2016-08-23T02:33:48.872073Z 1 [Note] A temporary password isgenerated  for  root@localhost: %IrczkB+J7Ez

 

 

你必須重新設置密碼才能執行語句

1
2
3
4
5
6
7
8
9
10
11
12
[root@mysqlA ~] # mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection  id  is 4
Server version: 5.7.14
Copyright (c) 2000, 2016, Oracle and /or  its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and /or  its
affiliates. Other names may be trademarks of their respective
owners.
Type  'help;'  or  '\h'  for  help. Type  '\c'  to  clear  the current input statement.
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

 

6、其實想要重置 5.7 的密碼很簡單,就一層窗戶紙: 

    1)   修改/etc/my.cnf,在 [mysqld] 小節下添加一行:skip-grant-tables=1

    這一行配置讓 mysqld 啟動時不對密碼進行驗證

 

    2)   重啟mysqld 服務:systemctl restart mysqld

 

    3)   使用 root 用戶登錄到 mysql:mysql -uroot 

 

    4)   切換到mysql數據庫,更新 user 表:

          update user set authentication_string = password('123456'),password_expired = 'N', password_last_changed = now() where user = 'root';

在之前的版本中,密碼字段的字段名是 password,5.7版本改為了 authentication_string

 

    5)   退出 mysql,編輯 /etc/my.cnf 文件,刪除 skip-grant-tables=1的內容

 

7、重啟mysqld 服務,再用新密碼登錄即可

 

 

1
2
[root@mysqlA ~] # mysql -V
mysql  Ver 14.14 Distrib5.7.14,  for  Linux (x86_64) using EditLine wrapper

 

 

8、允許遠程連接

1
2
3
4
5
6
7
8
9
mysql>  select  user,host from mysql.user;
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| mysql.sys | localhost |
| root      | localhost |
+-----------+-----------+
2 rows  in  set  (0.00 sec)
mysql>grant all privileges on *.* to  'root' @ '%'  identified by  'r0b0t.RQB'  with grant option;

 

9、修改密碼多種方法

 

    方法1: 用SET PASSWORD命令

      mysql -u root

      mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

 

    方法2:用mysqladmin

      mysqladmin -u root password "newpass"

      如果root已經設置過密碼,采用如下方法

      mysqladmin -u root password oldpass "newpass"

 

    方法3: 用UPDATE直接編輯user表

      mysql -u root

      mysql> use mysql;

      mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

      mysql> FLUSH PRIVILEGES;

 

    在丟失root密碼的時候,可以這樣

      mysqld_safe --skip-grant-tables&

      mysql -u root mysql

      mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

      mysql> FLUSH PRIVILEGES;