mysql安全设置

修改密码

  1. 在命令行下使用mysqladmin命令修改
mysqladmin -u username -p password new_pass

这里的username换成对应的账户名,new_pass换成新密码,回车之后,输入旧密码即可修改。

  1. 进入mysql后,用set password命令修改
set password for username@localhost = password('new_pass');
  1. 修改mysql数据库中的user表
use mysql;
update user set password = password('new_pass') where user = 'username');
flush privileges;

最后一句的作用是强制刷新内存授权表,否则非法用户还是可以使用原有账户信息登录。


修改管理员账户的用户名

默认为root,为了加大爆破难度,对此进行修改,比如改成adm1n

use mysql;
update user set user = "adm1n" where user = "root";
flush privileges;

禁止读取本地其他文件

比如读linux中的/etc/passwd
先在配置文件my.cnfmy.ini中找到[mysqld]
再往下一行添加一句set-variable=local-infile=0
然后重启mysql服务即可。(所有修改配置的操作都需要重启服务)


禁止远程连接数据库

在配置文件中,[mysqld]下一行加上skip-networking后重启服务即可。


控制数据库的操作权限

提供有限的权限给单个用户,比如只让一个用户管理一个数据库,以防止该账户时泄漏太多东西。
假设已经有一个叫stu的数据库,现在要把该数据库的权限提供给另一个新用户tea,它的密码是passwd

grant all privileges on stu.* to 'tea'@'localhost' identified by 'passwd' with grant options;

移除数据库的操作权限

revoke delete on stu.* from 'tea'@'localhost`;

你可能感兴趣的:(MySQL)