通過create user 命令來建立使用者, 有兩種方式:(只介紹通過 create user 命令, 直接往user表中插入資料的方式,這裡就不說了)
建立使用者的同時, 指定使用者可登入的主機和密碼
create user 'test_user'@'%' identified by "123";
create user 'test_user'@'localhost' identified by "123";
create user 'test_user'@'127.0.0.1' identified by "123";
grant all privileges on test_db.* to 'test_user'@'%';
grant select,update,delete,insert,drop on test_db.* to 'test_user'@'%';
grant all privileges on test_db.* to 'test_user'@'%' identified by '1112';
grant all privileges on test_db.* to 'test_user'@'%' with grant option;
首先解釋一下建立使用者的命令引數:
分配許可權的命令引數:
上面前三條命令只能同時使用一條, 因為create user 不能建立同名的使用者
那麼問題就來了, 假設通過第一條命令建立了使用者, 那麼這個使用者就只能在遠端主機上登入, 而不能在本地登入, 如果在本地登入, 會報這個錯誤:error 1045 (28000): access denied for user 'card_test1'@'localhost' (using password: yes)
出現這個錯誤有很多種情況, 據我的了解, 可能是:
使用者沒有在本地登入的許可權, 也就是'card_test1'@'localhost'
這個使用者不存在, 因為只存在'card_test1'@'%'
這個使用者
密碼不對
為了解決這個問題, 可以通過第二種方式, 也就是create user 的時候, 不分配登入主機這些引數
只建立使用者, 不分配主機
1. create user test_user;
2. create user test_user identified by "123";
3. grant all privileges on test_db.* to 'test_user'@'%' identified by "1234";
4. grant all privileges on test_db.* to 'test_user'@'localhost'identified by "1235";
上面的命令, 1,2 執行一條, 單純的建立使用者, 或者同時分配密碼;
然後, 3,4 兩條都可以執行, 這樣就能讓test_user 這個使用者, 既能在本地登入, 又能在遠端登入, 如果 grant的時候, 設定不同的密碼, 還能使在不同主機登入的同乙個使用者, 使用不同的密碼
取消使用者許可權
使用revoke
語句
revoke all on test_db.* from 'test_user'@'localhost';
這個命令就取消了 test_user 這個使用者, 在本地登入時的全部許可權
刪除使用者
drop user 'test_user'@'%';
drop user 'test_user'@'localhost';
修改指定使用者的密碼update mysql.user set password=password('new_passwd') where user='test_user' and host='%';
建立使用者給使用者建立許可權或者修改許可權, 都可以通過直接操作 mysql.user表; 注意直接操作表的話, 需要用flush privileges;
命令 重新整理許可權
mysql 建立使用者 分配許可權
mysql建立使用者的方法分成三種 insert user表的方法 create user的方法 grant的方法。1 通過create user命令進行建立使用者 指令碼 create user username host identified by password 其中密碼是可選項 例子 cr...
mysql建立使用者並分配許可權
mysql u root p 提示輸入密碼,輸入密碼後回車,進入mysql命令列 create user test identified by 123456 test為使用者名稱,123456為密碼,表示任何電腦都可以訪問,如果只為本地使用者建立,則 改為localhost grant select...
Mysql命令建立使用者分配許可權
1 建立乙個資料庫abc mysql create database abc 2 選擇你所建立的資料庫 mysql use abc database changed 3 建立乙個資料庫表 首先看現在你的資料庫中存在什麼表 mysql show tables empty set 0.00 sec my...