一、mysql密码的修改与恢复

  1.修改密码

    mysqladmin -u root -p123 password 456

  数据库内修改

    method.first:

      update mysql.user set password=password('123') where user='root' and host='localhost';

      flush privileges;

    method.second:

      set password for root@'localhost' =password('123');

      注: 此方法无序刷新权限

    method.third:

      mysql_secure_installation

      注: 安全配置向导,会对数据库进行简单的优化

二、忘记mysql密码后的恢复

  1.跳过mysql安全验证,直接mysql无密码登录,然后进入修改密码

1
2
/etc/init.d/mysqld  stop
mysqld_safe --skip-grant-table --user=mysql &>/dev/null &
1
<span style="font-size: 14px;"><br>三、如何防止mysql密码泄露<br></span>

  1. 设置环境变量强制linux不记录敏感历史命令

    临时生效(命令行操作):HISTCONTROL=ignorespace  然后[ root@ 001 ~] # mysql -uboy -pboy123

    永久生效:

        echo  ' HISTCONTROL=inorespace ' >>/etc/bashrc   然后source生效

  2. 通过history删除命令行记录

    清空所有记录   history  -c

    删除指定行记录  history -d 行号

    清空历史记录文件  >~/.bash_history

  3.把密码写入my.cnf 配置文件的 [ mysqld ] 下添加 skip-grant-tables  重启数据库生效

四、数据库的备份与恢复

  1、单库备份与还原

1
2
3
4
5
6
7
备份
mysqldump -uroot -p123456 lll>/opt/backup/lll.sql
注:此操作只备份其中的表(包括创建表的语句和数据)
 
还原
mysql -uroot -p123 -e ' create database lll;'
mysql -uroot -p123 lll < /opt/backup/lll.sql

  2.多库备份与还原

1
2
3
4
5
备份
mysqldump -uroot -p123 库名 表1 表2>/opt/backup/mysql_bak_db.sql
 
还原
mysql -uroot -p123 库名 </opt/backup/mysql_bak_db.sql

  3.全库备份

1
2
3
mysqldump -uroot -p123 -A >/opt/backup/mysql_bak_db.sql
mysqldump  -uroot -p123 --all-databases > /opt/backup/mysql_bak_db.sql

  4.还原备份

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#备份lol数据库
[root@ c6s02 ~]# mysqldump -uroot -p123456 -B lol >lol.sql
 
 
#先删除lol数据库
[root@ c6s02 ~]# mysql -uroot -p123456
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| lol                |
| mysql              |
| performance_schema |
| test               |
| wg                 |
+--------------------+
6 rows in set (0.00 sec)
 
mysql> drop database lol;
Query OK, 3 rows affected (0.03 sec)
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wg                 |
+--------------------+
5 rows in set (0.00 sec)
 
mysql> \q
 
#测试恢复并查看
[root@ c6s02 ~]# mysql -uroot -p123456 <lol.sql
Warning: Using a password on the command line interface can be insecure.
 
[root@ c6s02 ~]# mysql -uroot -p123456
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| lol                |
| mysql              |
| performance_schema |
| test               |
| wg                 |
+--------------------+
6 rows in set (0.00 sec)
 
mysql> select from lol.hero;
+----+--------+--------+-----------+--------+
| id | 角色   | 职业   | 攻击力    | 血量   |
+----+--------+--------+-----------+--------+
|  1 | 蛮王   | 战士   |       200 | NULL   |
|  2 | 狗头   | 战士   |       100 | NULL   |
|  3 | 剑圣   | 战士   |       300 | NULL   |
+----+--------+--------+-----------+--------+
3 rows in set (0.00 sec)

  (2)、method.second:

1
2
[root@ c6s02 ~]# mysql -uroot -p123456
mysql> source /root/lol.sql

通过二进制日志备份和恢复

1.备份二进制日志

cp /var/lib/mysql/mysql-bin.* /home/backup/

2.恢复
查看二进制日志
  mysqlbinlog /var/lib/mysql/mysql-bin.000001

恢复
从日志文件mysql-bin.000004的位置1379恢复到1966

mysqlbinlog mysql-bin.000004 --start-position=1379 --stop-position=1966 | mysql -uroot

从日志文件mysql-bin.000004的日期2019-09-27 15:08:49 恢复到2019-09-27 15:09:06
   mysqlbinlog mysql-bin.000004 --start-datetime="2019-09-27 15:08:49" --stop-datetime="2019-09-27 15:09:06" | mysql -uroot

更多操作详情参考如下:

https://github.com/crazywjj/bawei

mysql数据库密码的修改与恢复的更多相关文章

  1. 【mysql】修改mysql数据库密码

    修改mysql数据库密码 操作系统:Linux centos7 数据库:mysql5.7 一.在已知MYSQL数据库的ROOT用户密码的情况下,修改密码 1.在Linux命令行,使用mysqladmi ...

  2. MySQL忘记密码怎么修改密码

    MySQL的 root 帐号密码默认为空,经常都有修改密码后忘记密码的事.如果忘记了root 帐号密码,那该怎么修改密码呢?这里有一个可行的方法,就是在MySQL安全模式下(跳过权限检查)修改密码的方 ...

  3. 忘记本地MySQL数据库密码的解决方案。

    忘记本地MySQL数据库密码,解决方案,分以下10个步骤: 参考链接:                  https://blog.csdn.net/weidong_y/article/details ...

  4. MySQL数据库密码破解

    研究MySQL数据库的加解密方式,在网络攻防过程中具有重要的意义:试想一旦获取了网站一定的权限后,如果能够获取MySQL中保存用户数据,通过解密后,即可通过正常途径来访问数据库:一方面可以直接操作数据 ...

  5. 破解Mysql数据库密码

    破解Mysql数据库密码 点我,点我,破解mysql数据库密码:

  6. 关于xampp默认安装后mysql/mariadb密码的修改

    关于xampp默认按照后mysql/mariadb密码的修改 默认安装的mysql/mariadb 是没有密码的 只能跳过  然后进行修改密码 /opt/lampp/bin/mysqld_safe - ...

  7. mysql数据库字符编码修改

    mysql数据库字符编码修改 修改数据库的字符集mysql>use mydb mysql>alter database mydb character set utf8; 创建数据库指定数据 ...

  8. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

  9. wampserver修改mysql数据库密码后phpMyAdmin无法连接数据库

    phpMyAdmin开始能打开,但是我在权限里把root的密码改了,再打开phpMyAdmin就显示:“phpMyAdmin 试图连接到 MySQL 服务器,但服务器拒绝连接.您应该检查 config ...

随机推荐

  1. VMware NAT模式ping通外网[CentOS7]

    使用一张网卡,NAT模式 在编辑里打开虚拟网络编辑器 dhcp设置的范围 你的虚拟机的IP 就在那个范围里 NAT设置里有填网关 这里我们vmware 的设置就OK了 在去把你的网络适配器改下iP 这 ...

  2. 突破至暗时刻,HCIE-RS的6个月成就之路

    我是今年四月份报的HCIE培训,到考完面试总共六个月的时间,对于HCIE整个考试的流程来说,六个月的时间不短,但也不是很长.尤其是面试,需要花费大量的时间和精力,下面我就把我整个备考历程做个简单的分享 ...

  3. 基于crypto++国产加密软件SM4的实现,顺带加了ase,base64

    唔,美国压制得越狠,各种替代产品就越能活. 本文分享SM4的一种快速实现与集成方式.             SM4(原名SMS4)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于201 ...

  4. Django2.0--创建缓存表

    创建缓存表 在项目的虚拟环境下(若有),执行:python manage.py createcachetab

  5. kafka-manager新手安装入门指南

    Kafka-manager安装教程 使用环境 ubuntu18.04 Java 8 一.下载kafka 官网下载地址如下 https://www.apache.org/dyn/closer.cgi?p ...

  6. Tomcat安装和使用

    1.Tomcat简介 Tomcat是Apache开源组织下的开源免费的中小型Web应用服务器,支持javaEE中的servlet和jsp规范. 2.Windows版安装和使用 下载地址:http:// ...

  7. 在ensp上模拟企业网络场景并Access接口加入相应VLAN

    模拟的企业网络大概描述: 公司内网是一个大的局域网,二层交换机S1放置在一楼,在一楼办公的部门有IT部和人事部:二层交换机S2放置在二楼,在二楼办公的部门有市场部和研发部.由于交换机组成的是广播网,交 ...

  8. 用CodePush在React Native App中做热更新

    最近在学React Native,学到了CodePush热更新. 老师讲了两种实现的方法,现将其记录一下. 相比较原生开发,使用React Native开发App不仅能节约开发成本,还能做原生开发不能 ...

  9. linux常规网卡配置正确,但是出不了路由的解决方法

    netstat -rn #查看是网关  route add default gw 192.168.128.2 dev eth0  # 手动加入网关地址   此类情况容易出现在双网卡配置后

  10. day20190916notes

    记得学完知识,趁热打铁.认真看3遍,写抄写模仿3遍.记不得,就罚抄3遍.奖罚分明.自知之明.最重要的是看懂和理解代码.能自己看懂代码,多花时间和功夫. 只要功夫深,铁杵磨成针.确定一个努力的方向,坚持 ...