Linux下Mysql常用

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

  还原的话将>改为<即可。

原文地址:https://www.cnblogs.com/lckblog/p/4203769.html