全局 root —— 可以管理整个mysql
库 ——可以管理指定的数据库
表 ——可以管理数据库指定的表
字段 ——可以管理数据库指定表的特定字段
权限存储在mysql库的 user, db, table_priv, columns_priv, procs_priv 这几个系统表中,待mysql实例启动后就加载到内存中
select user,host from mysql.user;
select * from mysql.user where user=‘xxx‘;
每次更新权限后需要手动更新权限:flush privileges;
授权格式:
grant [权限] on [库.表] to [用户名]@[IP] identified by [密码]
update mysql.user set user.host=‘%‘ where user.User=‘root‘;
flush privileges;
grant all privileges on *.* to ‘raiuny‘@‘%‘ identified by ‘123456‘;
flush privileges;
这样就可以在远程连接到该数据库, 且获得全部权限。
只给ip = 175.155.59.133, name = xxx这一用户使用database1查询的权限
grant select on database.* to xxx@‘175.155.59.133‘ identified by [密码]
格式:
revoke [权限] on [库.表] from [用户名]@[ip];
格式:
drop user [用户名]@[ip];
启动mysql
sudo /usr/local/mysql/support-files/mysql.server start
停止mysql
sudo /usr/local/mysql/support-files/mysql.server stop
重启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