创建本地账号
create user 'egon1'@'localhost' identified by '123'; # mysql -uegon1 -p123
创建远程账号
create user 'egon2'@'192.168.31.10' identified by '123'; # mysql -uegon2 -p123 -h 服务端ip
create user 'egon2'@'192.168.31.%' identified by '123'; # mysql -uegon2 -p123 -h 服务端ip,能在31网段的任意服务器上登录sql
授权
user:*.* 所有库表
select * from mysql.user # 查看用户信息
grant select on *.* to 'egon1'@'localhost' # 给egon1授权select所有表的权限
grant all privileges on *.* to 'egon1'@'localhost'
revoke select on *.* from 'egon1'@'localhost' # 回收权限
db:* 某个库
select * from mysql.db\G # 查看db信息
grant select on db1.* to 'egon1'@'localhost' ; # 授权egon1只对db1有查询权限
revoke select on db1.* from 'egon1'@'localhost' ;
tables_priv:db1.t1 某个表
select * from mysql.tables_priv\G # 查询表权限信息,未设时该表为空
grant select on db1.t1 to 'egon1'@'localhost' ; # 授权egon1只对db1.t1有查询权限
revoke select on db1.*t1 from 'egon1'@'localhost'
columns_priv: 某列
select * from mysql.columns_priv; # 查询列权限信息,未设时该表为空
grant select(id,name),update(age) on db1.t1 to 'egon1'@'localhost' ;
权限有以下种类:
all privileges 除grant外的所有权限
select 仅查权限
select,insert 查和插入权限
...
usage 无访问权限
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存储过程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(关闭MySQL)
super 使用change master、kill、logs、purge、master和setglobal。还允许mysqladmin调试登陆
replication client 服务器位置的访问
replication slave 由复制从属使用