Mysql建立使用者 設定密碼 授權以及刪除

2021-09-12 05:36:07 字數 3434 閱讀 4591

mysql資料庫中的口令儲存必須用password()函式加密,因為在mysql庫中的user表中是以加密形式儲存口令,而不是純文字。

mysql建立使用者的方法分成三種:insert user表的方法、create user的方法、grant的方法。賬號名稱的構成方式

賬號的組成方式:使用者名稱@主機(所以可以出現重複的使用者名稱,跟其他的資料庫不一樣)

使用者名稱:16字元以內

指令碼:create user 'username'@'host' [identified by 'password'] 其中密碼是可選項

一、建立使用者

-- 建立資料庫名為'db_test'

create database db_test;

-- 建立使用者名為'user',密碼為'passwd'

create user user identified by 'passwd';

-- 建立使用者名為'user',所有的ip位址都可以使用

create user 'user'@'%';

-- 建立使用者名為'user'是不限制使用者訪問的ip也就是'%',密碼為'passwd'

create user 'user'@'%' identified by 'passwd';

-- 建立使用者名為'user',只能本地訪問,密碼為'passwd'

create user user@'localhost' identified by 'passwd';

-- ip位址為192.168.166段的所有ip位址都可以使用'user'使用者,密碼為'passwd'遠端訪問所有的資料庫

create user 'user'@'192.168.166.%' identified by "passwd";

二、設定密碼

1.管理員身份開啟cmd命令視窗,在shell下直接使用:

-- 設定'root'使用者的密碼為'new_passwd',舊密碼為'old_passwd'

mysqladmin -u root -p password new_passwd old_passwd

2.用root 進入mysql後 :

-- 修改root使用者的密碼為'your password'

set password =password('your password'); 

flush privileges;

-- 修改使用者'user'的密碼為'new_passwd'

set password for user = password("your new_passwd");

flush privileges;

-- 修改使用者'user'的密碼為'new_passwd'

set password for user@'%'= password('your new_passwd');

flush privileges;

-- 建立/修改使用者

use mysql;

insert into user(host,user,password) values('%','user_name',password("your password");

flush privileges;

3.使用grant語句,在建立乙個使用者時直接設定密碼,grant語句將自動加密口令:

-- 所有的位址都可以使用user使用者,確認密碼為'your password'遠端訪問所有的資料庫

grant all on *.* to user@% identified by "your password";

flush privileges; 

-- 本地可以使用'root'使用者,確認密碼為'your password' 使用grant選項

grant all on *.* to 'root'@'localhost' identified by 'your password' with grant option;

flush privileges;

4.進入mysql庫修改user表 :

use mysql; 

update user set password=password('你的密碼') where user='root'; 

flush privileges;

三、授權

-- 授權'user'使用者可以操作'db_test'庫的所有許可權

grant all privileges on db_test.* to user@'%';

-- 授權使用者'user'可以操作'db_test'庫的所有許可權,密碼為'passwd'

grant all privileges on db_test.* to user@'%' identified by 'passwd';

-- 授權user可以操作db_test庫的指定的許可權

grant select, insert, update, delete, create, references, index, alter on db_test.* to user@'%';

-- 重新整理許可權

flush privileges;

過載授權表 管理員身份開啟cmd命令視窗,在shell下直接使用:

mysqladmin -u root reload
或者

mysqladmin -u root flush-privileges
四、刪除使用者

-- 刪除授權

revoke privileges (columns) on what from user;

revoke all privileges on `db_taxi_mang`.* from 'utm'@'%';

-- 刪除使用者 方法一

delete from mysql.user where user='user' and host='%';

-- 刪除使用者 方法二

drop user 'username'@'host';

-- 刪除資料庫

drop database db_test;

五、檢視

-- 查詢使用者、位址 在mysql的'user'表中

select user,host from mysql.user;

六、修改

-- 修改資料庫名

rename database olddbname to newdbname;

附:相關資料

mysql 建立使用者與授權 修改密碼

一 建立使用者和密碼 命令create user username host identified by password username 賬號名 host 指定該賬號在那台主機上登入,可以限制到指定機器ip。本地使用者用localhost。如果任意主機登入則用萬用字元 password 密碼,可...

mysql使用者建立 授權 刪除 修改密碼

1.新建使用者。登入mysql mysql u root p 密碼 建立使用者 mysql insert into mysql.user host,user,password values localhost dev 17motan password dev17motan 重新整理系統許可權表 my...

mysql 建立使用者與授權 修改密碼

1 建立使用者 create user test localhost identified by 123456 建立的使用者名為test,密碼為123的使用者,localhost限制在固定位址localhost登陸 建立遠端連線使用者 2 授權 grant privileges on databas...