mysql 新增使用者 修改許可權,修改登入許可權ip

2021-09-11 03:06:13 字數 2833 閱讀 4111

新增使用者會有兩種方式的,一種是使用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 ...