1.确保不能被任意连接mysql数据库,使数据库处于安全状态。
2.修改mysql登陆设置
#vim /etc/my.cnf
添加skip-grant-tables
3.重新启动mysqld
#/etc/init.d/mysqld restart
4.登陆修改mysql的root密码
#/usr/bin/mysql
mysql>USE mysql;
mysql> UPDATE user SET Password = new-password WHERE User = 'root' ;
mysql>flush privileges;(重载授权表)
mysql>quit
5.恢复mysql登陆设置
#vim /etc/my.cnf
注释skip-grant-tables
6.重新启动mysql
#/etc/init.d/mysqld restart
7.验证
#su – mysql
$mysql
mysql>mysql –u root –pnew-password;
mysql>select user();
8.修改mysql的root密码
#/usr/bin/mysqladmin -u root –p”password” password “new-password”;
注:验证成功
mysql远程登陆
1.允许root用户在任何地方进行远程登录,并具有所有库任何操作权限
mysql>mysql –u root –ppassword;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION; (进行授权操作)
mysql>FLUSH PRIVILEGES;
2、允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限
mysql>mysql -u root -p"youpassword"
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"IP" IDENTIFIED BY "password" WITH GRANT OPTION;(进行授权操作:)
FLUSH PRIVILEGES; (重载授权表)
mysql端口修改
服务器默认MySQL端口是3306,经常被扫描,而且Apache日志显示,还有无聊人士尝试访问PhpMyAdmin后台,还是把默认的端口改改吧。
办法:
修改/etc/my.cnf
如果没有,那么:
如果你的内存小于128m,则复制my-small.cnf为/etc/my.cnf
如果内存小于512m,则复制my-medium.cnf为/etc/my.cnf
如果内存小于1g,则复制my-large.cnf为/etc/my.cnf
如果内存大于1g,则复制my-huge.cnf为/etc/my.cnf
将里面的port值修改为其它的即可。
注意端口值取值范围为0-65,535
mysql备份恢复
1.创建mysql库
mysql>create databases db_1;
2.备份db_1库
#cd /usr/share/mysql
#mysqldup -u root -p --opt db_1 > db_1_bak;
3.恢复db_1库
#mysql -u root -p new_db_1 < db_1_bak;