海运的博客

Mysql基本安全设置

发布时间:May 27, 2012 // 分类:数据库 // No Comments

1.设置或修改Mysql root密码:
默认安装后空密码,以mysqladmin命令设置密码:

mysqladmin -uroot password "password"

Mysql命令设置密码:

mysql> set password for root@localhost=password('password);

更改密码:

update mysql.user set password=password('password') where user='root';
flush privileges;

2.删除默认的数据库和用户

drop database test;
use mysql;
delete from db;
delete from user where not(host="localhost" and user="root");
flush privileges;
  1. 更改默认root账号名称:
update mysql.user set user="admin" where user="root";
flush privileges;
  1. 本地文件安全:
set-variable=local-infile=0
  1. 禁止远程连接mysql,远程管理可通过phpmyadmin,编辑my.cnf在[mysqld]添加:
skip-networking

6.最小权限用户:

#CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'user'@'localhost' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE  ON `databases`.* TO 'user'@'localhost';  
  1. 限制普通用户浏览其它数据库,编辑my.cnf在[mysqld]添加:
--skip-show-database

8.快速修复MySQL数据库
修复数据库

mysqlcheck -A -o -r -p

修复指定的数据库

mysqlcheck  -o -r database -p

9.跟据内存的大小选择MySQL的配置文件:

my-small.cnf # > my-medium.cnf # 32M - 64M
my-large.cnf # memory = 512M
my-huge.cnf # 1G-2G
my-innodb-heavy-4G.cnf # 4GB
分类
最新文章
最近回复
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了
  • 海运: 不好意思,这个是很多年前的,现在也许已经不适用,我现在也不用多线了。
  • CQ: -m state --state NEW 替换成-m conntrack --ctstate NEW
  • CQ: 你好,我入站已经成功分流,但是不知道出站怎么设置,PREROUTING替换成POSTROUTI...
  • K: 好的,谢谢,我去试试!
  • 海运: 可以试试3proxy
  • daha: PHP的怎么使用???
  • 海运: 换回了5.3内核,5.8用5.3 dtb虽然能开机且负载正常,但也有其它问题,不建议使用。
  • shangyatsen: 后面的内核高精度计时器的问题使用5.4或者5.3的dtb会正常吗?我也发现有这个日志出现。感觉...
  • 海运: 缺少相应模块?