mysql'密码安全

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql'密码安全相关的知识,希望对你有一定的参考价值。

mysql数据库的安全配置

MYSQL密码的修改与恢复

MYSQL数据库密码的修改

Mysql5.7以下默认root登录密码为空,安装完成之后首先需要修改root的登录密码。

# mysqladm –uroot password ‘new_password’

或者登录mysql后修改

mysql> use  mysql;

mysql> update user set password=PASSWORD(‘mysql‘) where user=‘root‘;

mysql> flush privileges;

修改旧密码:

# mysqladmin  -uroot  -p原密码  password‘新密码’

忘记MYSQL密码后的恢复

先关闭mysql

# cd /usr/local/mysql/bin

# ./mysqld_safe  --user=mysql --skip-grant-tables --skip-networking &

# mysql –uroot

mysql> use mysql;

mysql> update user set password=PASSWORD(‘mysql‘) where user=‘root‘;

mysql> flush privileges;

mysql> exit;

# vi  /etc/my.cnf

[mysqld]

skip-grant-tables

# service mysqld restart

# mysql -uroot –p

Mysql数据库的备份与恢复

MYSQL数据库的备份

mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。

mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。

mysqldump –u 用户名 –p  数据库名 [表名表名2…]> 存放目录/文件名.sql

备份多个数据库

加上—databases这个选项,则备份多个数据库

Mysqldump –u 用户名 –p –databases 数据库名1 数据库名2 …>文件目录/文件名称.sql

备份所有数据库

mysqldump –u 用户名 –p –all-databases >文件存放目录/文件名称.sql

直接复制整个数据库目录的备份方法

  MySQL有一种非常简单的备份方法,就是将MySQL中的数据库文件直接复制出来。这是最简单,速度最快的方法。

不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,但是在生产环境中很难允许备份服务器。

  注意:这种方法不适用于InnoDB存储引擎的表,而对于MyISAM存储引擎的表很方便。同时,还原时MySQL的版本最好相同。

使用mysqlhotcopy复制

MYSQL表的备份

mysqldump –u 用户名 –p  数据库名 [表名表名2…]> 存放目录/文件名.sql

MYSQL数据库与表的恢复

mysql  -u用户名  -p  数据库名  < 文件目录/文件名.sql

或者

mysql –uroot –p

use  数据库名;

Source  /xxx/文件名.sql

恢复某个数据库中的表:

例如:恢复mysql数据库中的table表。

mysql> use mysql;

mysql> source /backup/table.sql;

 

MYSQL数据库的安全配置

MYSQL数据库用户的添加

新建用户:

Create  user  ‘用户名’@‘%’ identified by ‘用户密码’;

%:通配符,表示该用户可以从任意远程主机登录。

Create user  ‘zs’@‘localhost’ identified by ‘123456’;

删除用户:

Delete  from  mysql.user  where user=’zs’;

MYSQL数据库用户的权限设置

增加用户权限:grant语句

Grant  all  on  数据库.*  to  用户名;

Grant  select,update,insert  on test2.*  to  zs;

撤销用户权限:revoke语句

Revoke  select  on test2.*  from  zs;

查看用户有哪些权限:

show grants for 用户名;

以上是关于mysql'密码安全的主要内容,如果未能解决你的问题,请参考以下文章

如何安全地存储用户的密码?

MySQL密码过期

mysql 用户账号权限与密码问题

mysql 密码忘记了之重置密码

mysql 的初始密码123456 是不是很不安全?

Mysql密码安全策略配置