3 回答

TA貢獻1900條經驗 獲得超5個贊
一、用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
二、用mysqladmin
mysqladmin -u root password "newpass"
如果root已經設置過密碼,采用如下方法
mysqladmin -u root password oldpass "newpass"
三、用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;
四、導出數據,重裝,導入數據

TA貢獻1876條經驗 獲得超5個贊
利用 GRANT 語句進行授權。
具體步驟如下:
1、首先使用一個沒有權限的賬號鏈接mysql,成功之后執行:show databases;這時會發現沒有權限的用戶只能看到一個數據庫,mysql和test等數據庫是看不到的;
2、如果已經安裝了phpmyadmin,打開127.0.0.1/phpmyadmin,在菜單欄找到用戶,然后找到沒有權限的用戶,點擊編輯權限;
3、跳轉到設置頁面,找到全局權限,在全選checkbox打勾,點擊右下角的執行,完成后該用戶就獲得了mysql數據庫的所有權限;
4、再次用該賬號再次鏈接mysql,鏈接成功后執行:show databases;你會發現所有數據庫都會顯示出來,而且使用該賬號可以進行任意編輯;
5、也可以直接在cmd窗口命令行設置,設置權限的命令為:
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
添加回答
舉報