1,查看当前用户权限
select host,password, user from user;
2,用户
创建用户
insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("Host","User",password("Password"),‘‘,‘‘,‘‘);
(HOST表示能访问的IP,如果允许任意IP的话,HOST设置为‘%‘)
修改指定用户密码
update mysql.user set password=password(‘新密码‘) where User="test" and Host="localhost";
删除用户
delete mysql.user where user=‘User‘ and host="Host";
3,赋予权限
grant all privileges on databaseNm.tableNm to ‘User‘@‘Host‘ identified by ‘Password‘;
*:加上with grant option让授权的用户,也可以将这些权限 grant 给其他用户一般很少使用;
取消权限
revoke all privileges on databaseNm.tableNm from User;
4,刷新权限
flush privileges;
5,权限表
user表 user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。
db表 db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。
host表 host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANT和REVOKE语句的影响,所以,你可能发觉你根本不是用它。
tables_priv表 tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。
columns_priv表 columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。
6,privileges
alter:修改数据库的表
create:创建新的数据库或表
delete:删除表数据
drop:删除数据库/表
index:创建/删除索引
insert:添加表数据
select:查询表数据
usage:只允许登录
all:允许任何操作
update:更新表数据
7,备份数据库
mysqldump -h IP -uusername -ppassword databasename --add-drop-database > /var/tmp/test.sql
还原的话将>改为<即可。