root用戶登錄數據庫之后,兩種方法創建新用戶
(1)CREATE USER 'username'@'host' IDENTIFIED BY 'passWord';
其中username:用戶名, host:控制訪問該數據庫的ip地址, password:密碼
eg:CREATE USER 'test'@'172.1.1.1' IDENTIFIED BY '123';
CREATE USER 'test'@'%' IDENTIFIED BY '123'; %為通配符,任意地址都可以登錄 ;
使用賦權語句賦權 GRANT '權限' PRIVILEGES ON '庫表范圍' TO '用戶'
權限包括:INSTER, UPDATA 等,如果給予全部權限則使用ALL
庫表范圍:database1.table1,表示數據庫database1的表table1,賦權至少要制定庫,如把該庫對用戶全部賦
權,則使用database1.*
(2)直接在賦權的時候新建用戶
GRANT ALL PRIVILEGES ON database1.* to test@'localhost' identified '123';
該句完成:新建用戶名為test、密碼為123并只限在本機登錄數據庫的用戶,并將數據庫database1的所有表的所有權限都給test
(3)insert形式
因為數據庫用戶信息存放在MySQL.user表中
使用指令可以查看
use mysql;
select User, Host ,authentication_string form user;即可以查看已有的用戶
因此如要新增用戶,可以使用insert語句
INSERT INTO mysql.user (User, Host,authentication_string,ssl_cipher,x509_issuer,x509_subject) VALUES ('user_name','ip',password('123'),'','','')
所有賦權操作結束后都要刷新使其生效,使用指令:FLUSH PRIVILEGES;
類似于增加用戶,都是更改user表
eg:UPDATE table SET authentiction_string = password('1234') where User = 'test'
flush privileges
刪除用戶:
(1)drop user 'username'
(2)delete語句在user表中使用
eg:delete from mysql.user where User= 'test';
CREATE databse name;
CREATE TABLE table1 (
id int(4) auto_increment,
name varchar(128),
age int nut null,
primary key(id)
)
增:INSERT INTO table1 (name,age) values('Jim',22);
刪:DELETE FROM table1 where name = 'Jim';
清空表內容:delete table1和truncate table1
刪除整個表:drop table1;
改:UPDATE table1 SET age = 18 where name='Jim';
查:SELECT * FROM table1;
SELECT name FROM table1 WHERE age = 18;
新聞熱點
疑難解答