mysql 賦給用戶權(quán)限 grant all privileges on
地址: http://blog.csdn.net/wengyupeng/article/details/3290415遇到了 SQLException: access denied for @'lo
地址: http://blog.csdn.net/wengyupeng/article/details/3290415
遇到了 SQLException: access denied for @'localhost' (using password: no)
解決辦法 grant all privileges on *.* to joe@localhost identified by '1';
flush privileges; --- 立即生效,不需要重啟
拿 joe 1 登陸
附:
mysql> grant 權(quán)限1, 權(quán)限2,…權(quán)限n on 數(shù)據(jù)庫名稱. 表名稱 to 用戶名@用戶地址 identified by ‘連接口令’;
set password for'kuja'@'1.1.1.1'= old_password('oigwpofmn'); // 設置1.1.1.1的客戶端機器的用戶kuja 的密碼,恢復到之前4.1的版本加密風格
權(quán)限1, 權(quán)限2,…權(quán)限n 代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file 等14個權(quán)限。
當權(quán)限1, 權(quán)限2,…權(quán)限n 被all privileges或者all 代替,表示賦予用戶全部權(quán)限。
當數(shù)據(jù)庫名稱. 表名稱被*.*代替,表示賦予用戶操作服務器上所有數(shù)據(jù)庫所有表的權(quán)限。
用戶地址可以是localhost ,也可以是ip 地址、機器名字、域名。也可以用’'表示從任何地址連接。
‘連接口令’不能為空,否則創(chuàng)建失敗。
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′ with grant option ;
給來自10.163.225.87的用戶joe 分配可對數(shù)據(jù)庫vtdc 的employee 表進行select,insert,update,delete,create,drop 等操作的權(quán)限,并設定口令為123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
,給來自10.163.225.87的用戶joe 分配可對數(shù)據(jù)庫vtdc 所有表進行所有操作的權(quán)限,并設定口令為123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
給來自10.163.225.87的用戶joe 分配可對所有數(shù)據(jù)庫的所有表進行所有操作的權(quán)限,并設定口令為123。
mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
給本機用戶joe 分配可對所有數(shù)據(jù)庫的所有表進行所有操作的權(quán)限,并設定口令為123。
GRANT ALL PRIVILEGES
博客分類:
mysql
MySQLSQL
1。 改表法??赡苁悄愕膸ぬ柌辉试S從遠程登陸,只能在localhost 。這個時候只要在localhost 的那臺電腦,登入mysql 后,更改 "mysql" 數(shù)據(jù)庫里的 "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. 授權(quán)法。例如,你想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 數(shù)據(jù)庫,并使用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;
注意授權(quán)后必須FLUSH PRIVILEGES;否則無法立即生效。
另外一種方法.
在安裝mysql 的機器上運行:
1、d:mysqlbin>mysql -h localhost -u root
//這樣應該可以進入MySQL 服務器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'' WITH GRANT OPTION //賦予任何主機訪問數(shù)據(jù)的權(quán)限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL 服務器
這樣就可以在其它任何的主機上以root 身份登錄啦!
,






with admin option 用于系統(tǒng)權(quán)限授權(quán),with grant option 用于對象授權(quán)。
但給一個用戶授予系統(tǒng)權(quán)限帶上with admin option 時,此用戶可把此系統(tǒng)權(quán)限授予其他用戶或角色,但收回這個用戶的系統(tǒng)權(quán)限時,這個用戶已經(jīng)授予其他用戶或角色的此系統(tǒng)權(quán)限不會因傳播無效,如授予A 系統(tǒng)權(quán)限create session with admin option, 然后A 又把create session權(quán)限授予B, 但管理員收回A 的create session權(quán)限時,B 依然擁有create session的權(quán)限,但管理員可以顯式收回B create session的權(quán)限,即直接revoke create session from B.
而with grant option用于對象授權(quán)時,被授予的用戶也可把此對象權(quán)限授予其他用戶或角色,不同的是但管理員收回用with grant option授權(quán)的用戶對象權(quán)限時,權(quán)限會因傳播而失效,如grant select on table with grant option to A,A用戶把此權(quán)限授予B ,但管理員收回A 的權(quán)限時,B 的權(quán)限也會失效,但管理員不可以直接收回B 的SELECT ON TABLE 權(quán)限。
MYSQL ERROR 1045 (28000): Access denied for user (using password
詳細出處參考:http://www.jb51.net/article/19326.htm
第一種方法: 推薦
錯誤描述: Mysql 中添加用戶之后可能出現(xiàn)登錄時提示ERROR 1045 (28000): Access denied for user的錯誤.
原因分析: 在mysql.user 表中可能出現(xiàn)user 為空的記錄, 如:
mysql> select host,user from user;
------------------ ------
| host | user |
------------------ ------
| | test |
| localhost | |
| localhost | root |
------------------ ------
3 rows in set (0.00 sec)
解決 辦法: 刪除這些為空的用戶或者更新為其他用戶名
刪除user.user 中值為NULL 的, 或更新NULL 為test
1)delete from user where user is NULL
2)update user set user='test' where user is NULL
,意外的情況: 如果上述方法沒有效果, 依然出現(xiàn)空用戶, 則可以利用圖形化用戶client 刪除.
詳細出處參考:http://www.jb51.net/article/19326.htm