mysql数据库密码的修改与恢复

时间:2022-04-14 05:33:54

一、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 [email protected]‘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  然后[ [email protected] 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数据库 [[email protected] c6s02 ~]# mysqldump -uroot -p123456 -B lol >lol.sql     #先删除lol数据库 [[email protected] 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   #测试恢复并查看 [[email protected] c6s02 ~]# mysql -uroot -p123456 <lol.sql Warning: Using a password  on  the command line  interface  can be insecure.   [[email protected] 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 [[email protected] c6s02 ~]# mysql -uroot -p123456 mysql> source /root/lol.sql

 

 

更多操作详情参考如下:

https://github.com/crazywjj/bawei