MYSQL 創建用戶,數據庫,授權及修改密碼

MYSQL 5.6

1.創建用戶

1.1 格式:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

host:指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%,%匹配所有主機,該地方設置成‘localhost’,代表只能本地訪問。

1.2 例子:

允許本地 IP 訪問
create user 'test'@'localhost' identified by '123456';
create user 'test'@'127.0.0.1' identified by '123456';
兩種方式均可

允許外網 IP 訪問
create user 'test'@'%' identified by '123456';

允許外網指定 IP 訪問
create user 'test'@'1.1.1.1' identified by '123456';
指定外網IP1.1.1.1下的用戶可以連接該數據庫

2.創建數據庫

2.1 格式:create database databasename DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

databasename:數據庫名
注意此處的字符集為utf8mb4,排序規則為utf8mb4_general_ci

3.給用戶授權

3.1 格式:GRANT privileges ON databasename.tablename TO 'username'@'host';

privileges:用戶的操作權限,如SELECT,INSERT,UPDATE等,如果要授予所的權限則使用ALL
databasename:數據庫名
tablename:表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用表示,如.*
給用戶授權的前提,必須該用戶已存在。'test'@'host'中test為用戶名,host為主機地址。

TIPS:

host scope description
localhost 本機 localhost不會被解析成IP地址,直接通過UNIXsocket連接
127.0.0.1 本機 會通過TCP/IP協議連接,并且只能在本機訪問
::1 本機 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1
1.1.1.1 指定IP地址 該IP地址內網外網均可
% 所有IP地址 所有IP地址均可訪問

3.2 例子:

授予用戶通過外網IP對于該數據庫的全部權限
grant all privileges on 'testdb'.* to 'test'@'%'';

授予用戶在本地服務器對該數據庫的全部權限
grant all privileges on 'testdb'.* to 'test'@'localhost';
用戶test無法從internet上直接訪問數據庫,只能在MYSQL主機上來訪問。

3.3 刷新權限:

使用以下語句刷新授權,修改立即生效
flush privileges;

4.撤銷用戶權限

4.1 格式:REVOKE privilege ON databasename.tablename FROM 'username'@'host';

4.2 例子:

REVOKE SELECT ON *.* FROM 'test'@'%';

5.修改用戶密碼

5.1 格式:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

5.2 例子:

SET PASSWORD FOR 'test'@'%' = PASSWORD("123456");

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容