嚐鮮mysql5.7.9結果root密碼忘記了

操做系統版本:centos 6.6html

數據庫版本:mysql5.7.9mysql

1.修改my.cnfsql

 vi /etc/my.cfn數據庫

在末尾新起一行加入:centos

skip-grant-tablesui

2.重啓數據庫this

service mysqld restartspa

3.鏈接數據庫操作系統

mysql -uroot命令行

4.修改mysql root 用戶的密碼

三行命令分別以下:

> update mysql.user set authentication_string = password('123456') where user='root' and Host = 'localhost';
> flush privileges;
> quit;

5.恢復第一步中的修改

vi /etc/my.cfn

去掉第一步中加入的那行代碼

 

因爲mysql 5.7.9使用了密碼過時策略(參考:Password Expiration Policy),昨晚修改完是能夠用的,但今晚命令行登錄進去後隨使查一行都提示:

You must reset your password using ALTER USER statement before executing this statement.

解決方法:

mysqladmin -u root -p password
Enter password: 
New password: 
Confirm new password: 
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

上述過時策略參考的文章內容中提到的幾點:

mysql> select password_expired,password_last_changed,password_lifetime from user where user='root';
+------------------+-----------------------+-------------------+
| password_expired | password_last_changed | password_lifetime |
+------------------+-----------------------+-------------------+
| N                | 2015-12-02 22:02:14   |                 0 |
+------------------+-----------------------+-------------------+
1 row in set (0.00 sec)

default_password_lifetime文中 A value of 0 disables automatic password expiration,就值爲0時就是禁用自動過時;

文中說爲了不mysql的密碼過時忽然中止服務,請執行下面語句:

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER

以上語句一直但執行就是將password_lifetime的值改成0

 

裝完了默認是不能遠程訪問的,so...

  • 使用「use mysql」命令,選擇要使用的數據庫,修改遠程鏈接的基本信息,保存在mysql數據庫中,所以使用mysql數據庫。

    mysql如何開啓遠程鏈接

  • 使用「GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;」命令能夠更改遠程鏈接的設置。

    mysql如何開啓遠程鏈接

  • 使用「flush privileges;」命令刷新剛纔修改的權限,使其生效。

    mysql如何開啓遠程鏈接

  • 使用「select host,user from user;」查看修改是否成功。

    mysql如何開啓遠程鏈接

 

嗯,接着你可能想給不一樣的同事或業務部門分配不一樣的賬號或密碼。okay,so...please read this.

參考:建立MySQL用戶 賦予某指定庫表的權限 文中建立新用戶,是針對5.5版本的,5.7.9得這樣建立新用戶,注意:密碼的字段跟文中用的不同。

建立新用戶:

 insert into `mysql`.`user` (Host,User,authentication_string) values ("%","gUDvpT",PASSWORD("1234567890"));

把plouto.*(即plouto下面的全部表)的全部權限(ALL PRIVILEGES )給gUDvpT用戶

GRANT ALL PRIVILEGES ON plouto.* TO 'gUDvpT'@'%' IDENTIFIED BY '1234567890' WITH GRANT OPTION;

相關文章
相關標籤/搜索