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;