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 数据库名 [表名1 表名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 数据库名 [表名1 表名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'密码安全的主要内容,如果未能解决你的问题,请参考以下文章