MySQL在Linux上的权限管理主要涉及用户权限和数据目录权限,具体操作如下:
登录MySQL
mysql -u root -p
输入root密码进入MySQL命令行。
创建用户
CREATE USER '用户名'@'主机地址' IDENTIFIED BY '密码';
test
,密码为123456
:CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';
授予权限
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机地址';
GRANT SELECT, INSERT, UPDATE ON 数据库名.* TO '用户名'@'主机地址';
GRANT SELECT, DELETE ON 数据库名.表名 TO '用户名'@'主机地址';
执行后需刷新权限:
FLUSH PRIVILEGES;
修改/撤销权限
GRANT
或REVOKE
命令重新指定权限。REVOKE ALL PRIVILEGES ON *.* FROM '用户名'@'主机地址';
验证权限
SHOW GRANTS FOR '用户名'@'主机地址';
修改目录所有者
sudo chown -R mysql:mysql /var/lib/mysql
将MySQL数据目录(默认/var/lib/mysql
)的所有者设为mysql
用户和组。
设置目录权限
sudo chmod -R 750 /var/lib/mysql
750
权限表示:所有者可读写执行,所属组可读执行,其他用户无权限。ALL PRIVILEGES
。FLUSH PRIVILEGES
。mysql
用户访问,防止未授权操作。参考来源:[1,2,3,4,5,6,7,8,9,10]