新增使用者會有兩種方式的,一種是使用create命令,另一種是直接回使用grant 命令
1、create user 名字@登陸位址 identified by "密碼";
2、grant select,update(許可權) on 資料庫名.表名 to 使用者@登入位址 identified by '密碼';
3、insert into mysql.user(host,user,password) values("localhost","test",password("1234"));
原本grant就是用來授權的,只是當找不到授權使用者的時候會重新建立乙個使用者,這個時候就需要注意將密碼 加上。
使用grant授權實質是在mysql資料庫的user表中增加一列,收回許可權實質是從表中刪除一列。所以授權也可以替換為刪除表資料來代替,授權收權實質是操作mysql的user表。檢視mysql.user表的結構:(windows與linux不同的是password列名改為authentication_string)
1、grant privileges on 資料庫名.表名 to '使用者名稱'@'登入位址' identified by '密碼';
2、grant select,insert on 資料庫名.表名 to '使用者名稱'@'登入位址' identified by '密碼';
3、grant all on *.* to '使用者名稱'@'登入位址' identified by '密碼';
4、grant all on 資料庫名.* to '使用者名稱'@'登入位址' identified by '密碼';
--讓使用者 擁有授權 許可權
5、grant privileges on 資料庫名.* to '使用者名稱'@'登入位址' with grant option;
--取消授權
6、revoke all on *.* from '使用者名稱'@'登入位址';
當然有檢視全部的使用者資訊和單個的使用者資訊
1、select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;
2、select * from mysql.user where user='使用者名稱';
3、show grants for '使用者名稱'@'登入位址(%表示遠端登入)';
--檢視當前使用者的許可權
4、show grants;
--檢視使用者表的結構
5、show mysql.user
--修改使用者密碼
1、set password for 'username'@'host' = password('newpassword');
--當前使用者修改自己密碼
2、set password = passw ("newpassword");
--使用update 更新使用者
3、update user set password=password('123') where user='root' and host='localhost';
flush privileges;
--刪除使用者
4、delete from mysql.user where user='root' and host='%';
flush privileges;
我們會發現其實資料庫是分為本地的和遠端的,本地的資料庫即為在本地伺服器安裝的例如安裝的mysql,sql server等,遠端的當然是部署在遠端伺服器上的。
當給建立使用者賬號的時候,如果create user 使用者@登陸位址 identified by "密碼"; 登入位址指定是host,或者某個位址就是表示該使用者在區域網或網際網路中以ip方式訪問了。但是這種情況有可能在其他伺服器登不上,這時候就需要登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"。
--先選擇mysql資料庫的user表
1、use mysql;
--再修改登入的ip
2、update user set host = '%' where user = '使用者名稱';
當然你可以選擇用授權的方式來給需要的使用者從任何主機連線到mysql伺服器:
-- 可以從任何地方登入資料庫
1、grant all privileges on *.* to '使用者'@'%' identified by '密碼' with grant option;
2、flush privileges;
--允許使用者從ip為192.168.1.1的主機連線到mysql伺服器,並使用mypassword作為密碼
3、grant all privileges on *.* to '使用者'@'192.168.1.1' identified by '密碼' with grant option;
4、flush privileges;
--使用者從ip為192.168.1.1的主機連線到mysql伺服器的test資料庫,並使用mypassword作為密碼
5、grant all privileges on test.* to '使用者'@'192.168.1.1' identified by '密碼' with grant option;
6、flush privileges;
還有修改mysql配置檔案的方法即 bind-address= 127.0.0.1注釋掉即可------>在my.ini中找到bind-address=0.0.0.0就是所有ip位址都能訪問,也可以不要這個屬性,具體情況我也沒有嘗試。 mysql新增使用者 修改許可權,修改登入許可權ip
1 新增使用者 1.1 登入mysql mysql u root p 密碼 1.2 建立使用者 格式 grant select on 資料庫.to 使用者名稱 登入主機 identified by 密碼 舉例 例 1 增加乙個使用者 test1 密碼為 abc,讓他可以在任何主機上登入,並對所有資料...
mysql修改許可權 MySql 修改許可權
mysql 賦予使用者許可權命令的簡單格式可概括為 grant 許可權 on 資料庫物件 to 使用者 一 grant 普通資料使用者,查詢 插入 更新 刪除 資料庫中所有表資料的權利。grant select on testdb.to common user grant insert on tes...
mysql 修改許可權 修改mysql許可權
關於mysql的使用者管理,筆記 1 建立新使用者 通過root使用者登入之後建立 grant all privileges on to testuser localhost identified by 123456 建立新使用者,使用者名為testuser,密碼為123456 grant all ...