mysql用戶授權
⑴ 如何設置mysql用戶的許可權
1、創建新用戶
通過root用戶登錄之後創建
>> grant all privileges on *.* to testuser@localhost identified by "123456" ;//創建新用戶,用戶名為testuser,密碼為123456 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,可以在本地訪問mysql
>> grant all privileges on *.* to testuser@"%" identified by "123456" ;//設置用戶testuser,可以在遠程訪問mysql
>> flush privileges ;//mysql 新設置用戶或更改密碼後需用flush privileges刷新MySQL的系統許可權相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql伺服器,來使新設置生效
2、設置用戶訪問資料庫許可權
>> grant all privileges on test_db.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只能訪問資料庫test_db,其他資料庫均不能訪問 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,可以訪問mysql上的所有資料庫 ;
>> grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ;//設置用戶testuser,只能訪問資料庫test_db的表user_infor,資料庫中的其他表均不能訪問 ;
3、設置用戶操作許可權
>> grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//設置用戶testuser,擁有所有的操作許可權,也就是管理員 ;
>> grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//設置用戶testuser,只擁有【查詢】操作許可權 ;
>> grant select,insert on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只擁有【查詢\插入】操作許可權 ;
>> grant select,insert,update,delete on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只擁有【查詢\插入】操作許可權 ;
>> REVOKE select,insert ON what FROM testuser//取消用戶testuser的【查詢\插入】操作許可權 ;
⑵ mysql中用戶許可權的%什麼意思
%是個通配符,如果Host=192.168.1.%,那麼就表示只要是IP地址前綴為「192.168.1.」的客戶端都可以連接。如果Host=%,表示所有IP都有連接許可權
⑶ 如何給mysql用戶分配許可權
1,Mysql下創建新的用戶
語法:
1.create user 用戶名 identified by '密碼';
例:create user xiaogang identified by '123456';
新創建的用戶,默認情況下是沒有任何許可權的。
2. 如何給用戶分配許可權
語法:
1.grant 許可權 on 資料庫.數據表 to '用戶' @ '主機名';
例:給 xiaogang 分配所有的許可權
grant all on *.* to 'xiaogang'@'%';
這個時候 xiaogang 就擁有了 所有權限了
3 如何更精準的控制用戶的許可權呢?
1.grant 許可權 on 資料庫.數據表 to '用戶' @ '主機名';
例:讓 xiaogang 有查詢 tmp 資料庫 tmp1 表的許可權;
grant select on temp.temp1 to 'xiaogang'@'%'; //這個時候 xiaogang 就具有查詢temp小的temp1的許可權了。
⑷ 如何給mysql用戶分配許可權
查看用戶許可權
mysql> show grants for zx_root;
賦予許可權
mysql> grant select on dmc_db.* to zx_root;
回收許可權
mysql> revoke select on dmc_db.* from zx_root; //如果許可權不存在會報錯
設置許可權時必須給出一下信息
1,要授予的許可權
2,被授予訪問許可權的資料庫或表
3,用戶名
grant和revoke可以在幾個層次上控制訪問許可權
1,整個伺服器,使用 grant ALL 和revoke ALL
2,整個資料庫,使用on database.*
3,特點表,使用on database.table
4,特定的列
5,特定的存儲過程
⑸ mysql怎樣添加用戶授權
方法/步驟
我們以管理員的身份先登錄到資料庫伺服器上,我想登錄到資料庫伺服器
⑹ mysql中怎樣允許把自己的許可權授權給其他用戶
grant select on xxx to user1 with grant option就可以了
⑺ 如何設置mysql的許可權為所有的用戶許可權
這個設置只要進入 Linux 系統的超級用戶狀態 # 下面,即可以使用 chmod 命令對 MySQL 資料庫系統下面的所有文件進行許可權設置。具體的就看你想設置成什麼許可權,你就可以設置成什麼許可權了。chmod 的基本用法如下:
#chmod 750 myfile <cr>
該命令對 myfile 這個文件設置成:文件所有者(頭 3 位)具有:可讀(4)、可寫(2)、可執行(1)許可權;同組用戶(中間 3 位)具有:可讀(4)、可執行(1)許可權;其他用戶(後 3 位):不可讀(4)、不可寫(2)、不可執行(1)許可權。
關於 chmod 更多的參數,你可以使用 man chmod 命令進行查看。
⑻ MySQL中如何給用戶分配許可權
使用
grant
語法,給用戶分配許可權,如:
grant
select,update
on
mydb.*
to
tom;
--------------------------把mydb庫的select和update許可權分配給tom。
flush
privileges;
---------------刷新之內後tom的許可權才生效
更多
privileges
可以容通過
show
privileges
查看
⑼ 如何給MySql創建連接用戶並授權
一般在為MySql創建用戶時建議使用GRANT前台命令,當然如果對我們開發者而言,方法還有很多種,比如使用INSERT命令,甚至是直接修改mysql user數據表,但仍然建議按照MySQL規范去授權賬戶。因為它太容易忘記,特別整理方便參考。
1、登錄MySQL
輸入mysql -u root和密碼即可登錄到Mysql。
2、選擇資料庫
語句如下:use mysql;
3、在mysql的user表中增加連接用戶
GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
其中:
「username」替換為將要授權的用戶名,比如clientusr;
「password」替換為clientusr設置的密碼;
4、可訪問數據表授權
創建好帳戶之後,就開始給上面的common user進行數據表授權,步驟3中增加的連接用戶默認許可權都是「N」的,必須在db表中為該帳戶授權,允許其訪問專用資料庫,當然超級用戶就不說了。
使用下面語句:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbx.* TO 'username'@'localhost' IDENTIFIED BY 'password';
本語句中的許可權根據實際需要確定:
"dbx"替換為授權訪問的資料庫名,如果只給某張表授權:dbx.tablename
"username"是步驟2授權用戶名
"password"是步驟2授權用戶的設置密碼
這樣就為該用戶授予了對某數據表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP許可權。
5、生效授權,創建完畢
FLUSH PRIVILEGES;
備註:
1、不要直接使用INSERT語句添加user記錄,使用INSERT可能出現:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value錯誤。不過早期的MYSQL版本筆者倒沒出現這個錯誤,因為天緣一直都是直接修改user表或直接使用INSERT語句完成,後來升級MYSQL到5.1的時候,發現可能會出現這個錯誤。
2、上文3和4,也可使用一句話GRANT ALL ON tbx.* TO 'username' IDENTIFIED BY 'password',這句話會自動創建username並為之授權。更多授權許可權可參考MYSQL官方網站。
⑽ mysql怎麼設置用戶許可權
增加一個用戶test1 密碼為abc,讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的許可權。
首先用以root 用戶連入MySQL,然後鍵入以下命令:
mysql>grant select,insert,update,
delete on *.* to test2@localhost identified by \"abc\";
grant命令:
創建一個可以從任何地方連接伺服器的一個完全的超級用戶,但是必須使用一個口令something 做這個:
mysql> grant all privileges on *.* to user@localhost identified
by 』something』 with GRANT OPTION;