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;
新闻热点
疑难解答