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服務就可以了。