mysql 权限操作

一、权限介绍

  1. 全局 root —— 可以管理整个mysql

  2. 库 ——可以管理指定的数据库

  3. 表 ——可以管理数据库指定的表

  4. 字段 ——可以管理数据库指定表的特定字段

权限存储在mysql库的 user, db, table_priv, columns_priv, procs_priv 这几个系统表中,待mysql实例启动后就加载到内存中

二、查看用户权限

  1. 查看所有用户
select user,host from mysql.user;
  1. 查看单个用户所有情况
select * from mysql.user where user='xxx';

三、 授权

每次更新权限后需要手动更新权限:flush privileges;

授权格式:

grant [权限] on [库.表] to [用户名]@[IP] identified by [密码]

1. 全局授权

update mysql.user set user.host='%' where user.User='root';
flush privileges;
grant all privileges on *.* to 'raiuny'@'%' identified by '123456';
flush privileges;

这样就可以在远程连接到该数据库, 且获得全部权限。

2. 单个数据库授权

只给ip = 175.155.59.133, name = xxx这一用户使用database1查询的权限

grant select on database.* to xxx@'175.155.59.133' identified by [密码]

四、收回权限,删除用户

1. 收回权限

格式:

revoke [权限] on [库.表] from [用户名]@[ip];

2. 删除用户

格式:

drop user [用户名]@[ip];

五、Mac启动Mysql、停止Mysql、重启Mysql

  1. 启动mysql

    sudo /usr/local/mysql/support-files/mysql.server start
    
  2. 停止mysql

    sudo /usr/local/mysql/support-files/mysql.server stop
    
  3. 重启mysql

    sudo /usr/local/mysql/support-files/mysql.server restart
    
 如果报错,
 ps aux |grep mysqld 查找mysql进程并杀死
 kill -9 [进程名] 
 然后再次重启就好了
原文地址:https://www.cnblogs.com/raiuny/p/13753949.html