一、更改mysql密碼常用的三種方法 大部分情況下,一般用戶沒有權限更改密碼,只有申請了權限或root用戶才可以更改密碼;
1.方法1:用mysqladmin
如果root已經設置過密碼,采用如下方法
2.方法2: 用SET PASSWORD命令,不需要使用FLUSH PRIVILEGES;
3.方法3: 用UPDATE直接編輯user表
二、windows下忘記MySQL密碼的處理方法 如果在Windows下忘記了MySQL的密碼,可以這樣做: 1.關閉正在運行的MySQL服務:net stop mysql或 在windows 任務管理器中結束 mysqld.exe 進程或在 管理工具里面的服務找到 mysql服務 ,將其停止;
2.打開命令行,轉到mysql的bin目錄下;
C:\Program Files\MySQL\MySQL Server 5.5\bin>
3.輸入:mysqld -nt --skip-grant-tables 然后回車,如果沒有錯誤信息,就行了; 注:skip-grant-tables參數用了之后,就可以跳過登錄校驗;
4.再打開一個命令行(因為剛才那個DOS窗口已經不能動了),同樣轉到mysql的bin目錄下; 5.直接輸入 mysql 並回車,如果成功,將出現MySQL提示符 >
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.35 MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
6.切換到mysql表
7.可以修改密碼了:
8.刷新權限,不要忘記了:
9.退出:(退出的方法很多 有quit、exit、ctrl+c、\q 等等); 10.注銷或重啟計算機,然后打開MySQL服務,使用用戶名root和設置的新密碼就可以登錄了。
三、CentOS 重設忘記的MySQL密碼,可以用以下方法重設。
方法一、 代碼
# /etc/init.d/mysqld stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('輸入新設的密碼newpassword') where USER='root';
mysql> FLUSH PRIVILEGES; mysql> quit
# /etc/init.d/mysqld restart # mysql -uroot -p
Enter password: 輸入新設的密碼newpassword mysql> 方法二、 代碼 直接使用/etc/mysql/debian.cnf文件中[client]節提供的用戶名和密碼:
# mysql -udebian-sys-maint -p
Enter password: <輸入[client]節的密碼>
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>
四、支持遠程訪問:
如果你想連接你的mysql的時候發生這個錯誤:
解決方法:
1. 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql后,更改 "mysql" 數據庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授權法。例如,你想root使用123456從任何主機連接到mysql服務器的話。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123546' WITH GRANT OPTION;
如果你想允許用戶root從ip為192.168.1.3的主機連接到mysql服務器,並使用123456作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY '123456' WITH GRANT OPTION;
MySQL數據庫設置遠程訪問權限方法小結
很多情況下我們需要遠程連接mysql數據庫,那么就可以參考下面的權限設置
1,設置訪問單個數據庫權限
代碼如下:
說明:設置用戶名為root,密碼為空,可訪問數據庫test
2,設置訪問全部數據庫權限
代碼如下:
說明:設置用戶名為root,密碼為空,可訪問所有數據庫*
3,設置指定用戶名訪問權限
代碼如下:
說明:設置指定用戶名為liuhui,密碼為空,可訪問所有數據庫*
4,設置密碼訪問權限
代碼如下:
說明:設置指定用戶名為liuhui,密碼為liuhui,可訪問所有數據庫*
5,設置指定可訪問主機權限
代碼如下:
說明:設置指定用戶名為liuhui,可訪問所有數據庫*,只有10.2.1.11這台機器有權限訪問
還可以設置指定訪問某個數據庫下的某個數據表,請繼續關注MySQL基礎知識系列。