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]