mysql 新增 刪除使用者和許可權分配

2021-09-20 19:46:11 字數 2895 閱讀 3597

1. 新增使用者

mysql>insert into mysql.user(host,user,password) values("localhost","lionbule",password("hello1234"));  

mysql>flush privileges;  

2. 修改使用者密碼

mysql>update mysql.user set password=password('new password') where user="lionbule" and host="localhost";  

mysql>flush privileges;  

3. 刪除使用者

mysql>delete from user where user="lionbule" and host="localhost";  

mysql>flush privileges;  

4. 許可權分配

4.1. grant用法

grant 許可權 on 資料庫.* to 使用者名稱@'登入主機' identified by '密碼'

許可權:  

常用總結, all/alter/create/drop/select/update/delete  

資料庫:  

*.*                    表示所有庫的所有表  

test.*                表示test庫的所有表 

test.test_table  表示test庫的test_table表  

使用者名稱:  

mysql賬戶名  

登陸主機:  

允許登陸mysql server的客戶端ip  

'%'表示所有ip  

'localhost' 表示本機  

'192.168.10.2' 特定ip  

密碼:  

賬戶對應的登陸密碼  

4.2 例子

mysql>grant all  on test.* to lionbule@'%' identified by 'hello1234';  

mysql>flush privileges;  

新增密碼為『hello234』的使用者lionbule對test庫擁有所有操作許可權,並不限制lionbule使用者的登陸ip。     

1、mysql預設安裝後,生成乙個super-user:root,密碼為空,給root使用者設定密碼的方法很多。

(1)mysqladmin -uroot password 'newpassword';

(2)update user set password='newpassword' where user='root'

2、如果不慎將root使用者給刪除了,可以嘗試以下辦法操作。

(1)、直接重新安裝初始化資料庫mysql,不會對資料庫目錄下/mysql/var/目錄下其他資料庫帶來影響,

mysql_install_db --user=mysql,

然後重啟

mysqld_safe --user=mysql &

(2)、嘗試輸入mysql --skip-grant-lables &,跳開許可權認證,對mysql資料庫中的user授權表進行操作,

insert into user (host,user,password,'','','','',''........)  values ('localhost,'root','root','','','','',''........);

3、  新增使用者和設定許可權

在安裝mysql後只有乙個超級管理許可權的使用者root,而且root限制只能在資料庫本機上使用,如果我們要遠端管理mysql咋辦呢?那麼事實上我們需要新增乙個具有超級管理許可權並且可能遠端訪問的超級使用者,而在 mysql中有兩種方法可以實現這個目的,我們以增加乙個超級許可權管理使用者admin為例來說明。 

你可以通過發出grant語句增加新使用者:首先在資料庫本機上用root使用者登入上mysql(不用我告訴你如何登入吧?),然後: 

mysql>grant all privileges on *.* to admin@localhost identified by 'something' with grant option; 

mysql>grant all privileges on *.* to admin@"%" identified by 'something' with grant option; 

第一句增加了乙個admin使用者授權通過本地機(localhost)訪問,密碼「something」。

第二句則是授與admin使用者從任何其它主機發起的訪問(萬用字元%)。 

你也可以直接通過發出insert語句增加同樣的使用者訪問資訊: 

mysql>insert into user values('localhost','admin',password('something'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y') 

mysql>insert into user values('%','admin',password('something'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y') 

取決於你的mysql版本,對上述,你可能必須使用乙個不同數目'y'值(在3.22.11以前的版本有更少的許可權列)。 

驗證方法,在命令列中輸入:mysql -h主機名或ip位址 -u使用者名稱 -p密碼 

select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;

show grants for 

'cactiuser'@'%';

select * from mysql.user where user='cactiuser' \g  

mysql 新增和刪除使用者 新增許可權

mysql insert into mysql.user host,user,password values localhost test password 1234 新增了乙個username為test password為1234使用者。但該使用者僅僅能在本地登陸,若想遠端登陸的話可將localh...

mysql 新增 刪除使用者和許可權分配

1.新增使用者 複製 如下 mysql insert into mysql.user host,user,password values localhost lionbule password hello1234 mysql flush privileges 2.修改使用者密碼 複製 如下 mysq...

mysql新增使用者和使用者許可權

mysql新增使用者 使用可以對mysql資料庫使用者表有操作許可權的使用者名稱登陸mysql insert into user host,user,password values name password 如果work使用者沒有登陸許可權,則 killall mysqld share mysql...