日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

centos6 mysql密码_CentOS6.5下修改MySQL密码

發布時間:2024/1/23 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos6 mysql密码_CentOS6.5下修改MySQL密码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

今天在MySql5.6操作時報錯:You must SET PASSWORD before executing this statement解決方法,需要的朋友可以參考下

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

非常詭異啊,明明用密碼登陸進去了,怎么還提示需要密碼。

參考官方的一個文檔,見http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了:

mysql> create database yan1;

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

mysql> SET PASSWORD = PASSWORD('123456');

Query OK, 0 rows affected (0.03 sec)

mysql> create database yan1;

Query OK, 1 row affected (0.00 sec)

也就是用mysql> SET PASSWORD = PASSWORD('123456');這句話重新設置一次密碼!大爺的,真費勁啊。

這位仁兄也遇到了相同的問題。

最近新裝好的mysql在進入mysql工具時,總是有錯誤提示:

# mysql -u root -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

或者

# mysql -u root -p password 'newpassword'

Enter password:

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: YES)'

現在終于找到解決方法了。本來準備重裝的,現在不必了。

方法操作很簡單,如下:

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用戶密碼都修改成非空的密碼就行了。

mysql> FLUSH PRIVILEGES;

mysql> quit # /etc/init.d/mysqld restart

# mysql -uroot -p

Enter password:

MySql5.6操作時報錯:You must SET PASSWORD before executing this statement解決

mysql> SET PASSWORD = PASSWORD('123456');

Query OK, 0 rows affected (0.03 sec)

mysql> create database roger;

Query OK, 1 row affected (0.00 sec)

也就是用mysql> SET PASSWORD = PASSWORD('123456');這句話重新設置一次密碼!

如果 MySQL 正在運行,首先殺之: killall -TERM mysqld。

運行mysqld_safe --skip-grant-tables &

如果此時不想被遠程連接:mysqld_safe --skip-grant-tables?--skip-networking &

使用mysql連接server

更改密碼:?update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

*特別提醒注意的一點是,新版的mysql數據庫下的user表中已經沒有Password字段了

而是將加密后的用戶密碼存儲于authentication_string字段

mysql> flush privileges;

mysql> quit;

修改完畢。重啟

killall -TERM mysqld。

mysqld_safe &

然后mysql就可以連接了

但是此時操作似乎功能不完全,還要alter user...

alter user 'root'@'localhost' identified by '123';

網文說醬紫也可以:set password for 'root'@'localhost'=password('123');

自啟動

cp mysql.server /etc/init.d/mysql

chmod +x /etc/init.d/mysql

chkconfig --add mysql

reboot試試看

===========================

13.7.1.1?ALTER USER Syntax

ALTER USER?user_specification?[,?user_specification] ...?user_specification:?user?PASSWORD EXPIRE

The?ALTER USER?statement modifies MySQL accounts. An error occurs if you try to modify a nonexistent account.

To use?ALTER USER, you must have the global?CREATE USER?privilege or the?UPDATE?privilege for the?mysqldatabase. When the?read_only?system variable is enabled,?ALTER USER?additionally requires the?SUPERprivilege.

Warning

ALTER USER?was added in MySQL 5.6.6. However, in 5.6.6,?ALTER USER?also sets the?Password?column to the empty string, so do not use this statement until 5.6.7.

Each account name uses the format described in?Section?6.2.3, “Specifying Account Names”. If you specify only the user name part of the account name, a host name part of?'%'?is used. It is also possible to specify?CURRENT_USER?or?CURRENT_USER()?to refer to the account associated with the current session.

For each account,?ALTER USER?expires its password. For example:

ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE;

Password expiration for an account affects the corresponding row of the?mysql.user?table: The server sets the?password_expired?column to?'Y'.

A client session operates in restricted mode if the account password has been expired. In restricted mode, operations performed within the session result in an error until the user establishes a new account password:

mysql>?SELECT 1;

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

mysql>?SET PASSWORD = PASSWORD('new_password');

Query OK, 0 rows affected (0.01 sec)

mysql>?SELECT 1;

+---+ | 1 | +---+ | 1 | +---+

1 row in set (0.00 sec)

As of MySQL 5.6.8, this restricted mode of operation permits?SET?statements, which is useful if the account password has a hashing format that requires?old_passwords?to be set to a value different from its default before using?SET PASSWORD.

It is possible for an administrative user to reset the account password, but any existing sessions for the account remain restricted. A client using the account must disconnect and reconnect before statements can be executed successfully.

Note

It is possible to?“reset”?a password by setting it to its current value. As a matter of good policy, it is preferable to choose a different password.

總結

以上是生活随笔為你收集整理的centos6 mysql密码_CentOS6.5下修改MySQL密码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。