1。 改表法。
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改成"%"
Sql代碼
1. mysql -u root -pvmwaremysql>use mysql;
2. mysql>update user set host = ‘%‘ where user = ‘root‘;
3. mysql>select host, user from user;
- 2. 授權法。
例如,你想myuser使用mypassword從任何主機串連到mysql伺服器的話。
Sql代碼
1. GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘%‘ IDENTIFIED BY ‘mypassword‘ WITH
GRANT OPTION;
2.FLUSH PRIVILEGES;
如果你想允許使用者myuser從ip為192.168.1.6的主機串連到mysql伺服器,並使用mypassword作為密碼
Sql代碼
1. GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.1.3‘ IDENTIFIED BY
2. ‘mypassword‘ WITH GRANT OPTION;
3. FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.1.3‘ IDENTIFIED BY
‘mypassword‘ WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允許使用者myuser從ip為192.168.1.6的主機串連到mysql伺服器的dk資料庫,並使用mypassword作為密碼
Sql代碼
1. GRANT ALL PRIVILEGES ON dk.* TO ‘myuser‘@‘192.168.1.3‘ IDENTIFIED BY
2. ‘mypassword‘ WITH GRANT OPTION;
3. FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON dk.* TO ‘myuser‘@‘192.168.1.3‘ IDENTIFIED BY
‘mypassword‘ WITH GRANT OPTION;
FLUSH PRIVILEGES;
注意授權後必須FLUSH PRIVILEGES;否則無法立即生效。
-
另外一種方法.
在安裝mysql的機器上運行:
1、d:\mysql\bin\>mysql -h localhost -u root
//這樣應該可以進入MySQL伺服器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ WITH GRANT OPTION
//賦予任何主機訪問資料的許可權
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL伺服器
這樣就可以在其它任何的主機上以root身份登入啦!
其它:
mysql> grant all privileges on *.* to ‘energy_pf‘@‘192.168.2.65‘ identified by ‘energy_pf‘ with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> plush privileges;
允許使用者energy_pf從ip為192.168.2.65的主機串連到mysql伺服器的任意資料庫(*.*),並使用energy_pf作為密碼
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘localhost‘
-> IDENTIFIED BY ‘some_pass‘ WITH GRANT OPTION;
//本地操作的許可權
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘ root ‘@‘%‘
-> IDENTIFIED BY ‘some_pass‘ WITH GRANT OPTION;
首先要聲明一下:一般情況下,修改MySQL密碼,授權,是需要有mysql裡的root許可權的。
註:本操作是在WIN命令提示字元下,phpMyAdmin同樣適用。
使用者:phplamp 使用者資料庫:phplampDB
1.建立使用者。
//登入MYSQL
@>mysql -u root -p
@>密碼
//建立使用者
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//重新整理系統許可權表
mysql>flush privileges;
這樣就建立了一個名為:phplamp 密碼為:1234 的使用者。
然後登入一下。
mysql>exit;
@>mysql -u phplamp -p
@>輸入密碼
mysql>登入成功
2.為使用者授權。
//登入MYSQL(有ROOT許可權)。我裡我以ROOT身份登入.
@>mysql -u root -p
@>密碼
//首先為使用者建立一個資料庫(phplampDB)
mysql>create database phplampDB;
//授權phplamp使用者擁有phplamp資料庫的所有許可權。
>grant all privileges on phplampDB.* to [email protected] identified by ‘1234‘;
//重新整理系統許可權表
mysql>flush privileges;
mysql>其它操作
3.刪除使用者。
@>mysql -u root -p
@>密碼
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//刪除使用者的資料庫
mysql>drop database phplampDB;
4.修改指定使用者密碼。
@>mysql -u root -p
@>密碼
mysql>update mysql.user set password=password(‘新密碼‘) where User="phplamp" and Host="localhost";
mysql>flush privileges;