1. 程式人生 > >linux 中的mysql修改密碼及其許可權

linux 中的mysql修改密碼及其許可權

修改的使用者都以root為列。

一、知道原來的myql資料庫的root密碼;

①: 在終端命令列輸入 mysqladmin -u root -p password "新密碼" 回車 ,Enter password: 【輸入原來的舊密碼】
②: 登入mysql系統修改, mysql -uroot -p 回車 Enter password: 【輸入原來的密碼】

mysql>use mysql;

mysql> update user set password=password("新密碼") where user='root';

        【密碼注意大小寫】

mysql> flush privileges;

mysql> exit;      

然後使用剛才輸入的新密碼即可登入。

二、不知道原來的myql的root的密碼;
首先,你必須要有作業系統的root許可權了。要是連繫統的root許可權都沒有的話,先考慮root系統再走下面的步驟。 類似於安全模式登入系統。

需要先停止mysql服務,這裡分兩種情況,一種可以用service mysqld stop,

另外一種是/etc/init.d/mysqld stop

當提示mysql已停止後進行下一步操作   Shutting down MySQL. SUCCESS!

在終端命令列輸入

mysqld_safe --skip-grant-tables &         【登入mysql系統】

輸入mysql登入mysql系統

mysql> use mysql;

mysql> UPDATE user SET password=password("新密碼") WHERE user='root'; 

     【密碼注意大小寫】

mysql> flush privileges;

mysql> exit;

重新啟動mysql服務

這樣新的root密碼就設定成功了。

 

三、修改root登入許可權

當你修改好root密碼後,很有可能出現這種情況

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

這是因為root登入許可權不足,具體修改方法如下

需要先停止mysql服務,這裡分兩種情況,一種可以用service mysqld stop,

另外一種是/etc/init.d/mysqld stop

當提示mysql已停止後進行下一步操作   Shutting down MySQL. SUCCESS!

在終端命令列輸入

mysqld_safe --skip-grant-tables &         【登入mysql系統】

輸入mysql登入mysql系統

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

mysql> flush privileges;

mysql> exit;

然後重新啟動mysql服務就可以了。