MySql中添加用戶,新建數據庫,用戶授權,刪除用戶,修改密碼(注意每行后邊都跟個;表示一個命令語句結束):
1.新建用戶
1.1 登錄MYSQL:
@>mysql -u root -p
@>密碼
1.2 創建用戶:
高版本數據庫密碼字段是authentication_string,低版本是Password
mysql> insert into mysql.user(Host,User,Password) values("%","bbf",password("bbf_ms_2020-01-13"));
mysql>select * from mysql.user;
這樣就創建了一個名為:bbf 密碼為:bbf_ms_2020-01-13的用戶。
注意:Host 為"localhost",是指該用戶只能在本地登錄,不能在另外一台機器上遠程登錄。
為"%",表示在任何一台電腦上都可以登錄。
為"ip" 可以指定某台機器可以遠程登錄
為"xxx.xxx.xxx.%" 可以指定ip段遠程登陸
1.3 然后登錄一下:
mysql>exit;
@>mysql -u bbf -p
@>輸入密碼
mysql>登錄成功
2.為用戶授權
授權格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼";
2.1 登錄MYSQL(有ROOT權限),這里以ROOT身份登錄:
@>mysql -u root -p
@>密碼
2.2 首先為用戶創建一個數據庫(bbfdb):
mysql> CREATE DATABASE IF NOT EXISTS `bbfdb` DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
2.3 授權bbf用戶只擁有bbfdb數據庫的所有權限(某個數據庫的所有權限):
mysql>GRANT ALL PRIVILEGES ON bbfdb.* TO 'bbf'@'%' identified by 'bbf_ms_2020-01-13';
mysql>flush privileges;//刷新系統權限表
格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼";
2.4 如果想指定部分權限給一用戶,可以這樣來寫:
mysql>GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, CREATE VIEW, SHOW VIEW ON
`bbfdb`.* TO 'bbf'@'%' identified by 'bbf_ms_2020-01-13';
mysql>flush privileges; //刷新系統權限表
2.5 授權bbf用戶擁有所有數據庫的某些權限:
mysql>grant select,delete,update,create,drop on *.* TO 'bbf'@'%' identified by 'bbf_ms_2020-01-13';
//'bbf'用戶對所有數據庫都有select,delete,update,create,drop 權限。
//@"%" 表示對所有非本地主機授權,不包括localhost。(localhost地址設為127.0.0.1,如果設為真實的本地地址,不知道是否可以,沒有驗證。)
//對localhost授權:加上一句 grant all privileges on bbfdb.* TO 'bbf'@'%' identified by 'bbf_ms_2020-01-13'; TO 'bbf'@'%' identified by 'bbf_ms_2020-01-13';即可。
3. 刪除用戶
@>mysql -u root -p
@>密碼
mysql>Delete FROM mysql.user Where User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB; //刪除用戶的數據庫
刪除賬戶及權限:>drop user 用戶名@'%';
>drop user 用戶名@ localhost;
4. 修改指定用戶密碼
@>mysql -u root -p
@>密碼
mysql>update mysql.user set password=password('新密碼') where User="test" and Host="localhost";
mysql>flush privileges;
5. 列出所有數據庫
mysql>show database;
6. 切換數據庫
mysql>use '數據庫名';
7. 列出所有表
mysql>show tables;
8. 顯示數據表結構
mysql>describe 表名;
9. 刪除數據庫和數據表
mysql>drop database 數據庫名;
mysql>drop table 數據表名;