Mysql备份还原

Mysql数据库宕机怎么办?

日常维护服务器的过程中,误操作或者其它各种各样的不确定因素导致数据库宕机,无法重启,一般这个时候我们可以尝试以下的这种方式对数据进行恢复,从而实现Mysql数据库的正常运行。

风险评估:在恢复期间,数据库无法进行数据读写。备份的数据中可能存在数据库数据的不完整性,函数键值的一些缺失,从而导致不可挽回的损失。

环境:mysql数据库1,mysql备份文件1

情景再现:
场景一:xx员工在备份mysql数据的时候,将源文件共享目录下的数据库文件删除,从而导致数据库宕机,无法进行正常工作。

解决方案:
1.清空mysql服务存储路径下的文件,默认存储路径在/var/lib/mysql,高危操作,请谨慎使用,使用此命令将会删除数据库中的所有数据库

rm -rf /var/lib/mysql/*

2.将备份的数据库文件移动到Mysql的源文件目录/var/lib/mysql/下

mv mysql.sql.gz /var/lib/mysql/

3.对mysql文件进行授权,文件需要具备mysql的权限。mysql服务才会对,对应目录下授权过的文件进行读取。

chown -R mysql:mysql /var/lib/mysql/*

4.重启Mysql服务,将宕机的数据库恢复正常运行。

systemctl stop mysqld
systemctl start mysqld
监测mysql服务是否启动
ps -aux|grep mysql
- -查询结果中存在两个mysql进程,一个是本机的查询进程,另外一个才是mysql的进程

5.跳过访问权限限制,直接访问数据库。在Mysql的配置文件中的[msqld]模块中添加skip-grant-tables即可

vim /etc/my.cnf

[mysqld]

skip-grant-tables

6.创建对应的数据库,解压数据库文件,将对应的数据库文件进行恢复。

create database db1;
create database db2;
cd /var/lib/mysql
解压mysql的压缩文件,并且将数据导入导msyql数据库中
gunzip < db.sql.gz |mysql -uroot dbname 导入mysql数据

7.修改mysql数据库的密码,为了安全起见,注释掉免密操作

注释掉mysql配置文件中skip-grant-tables这一栏
vim /etc/my.cnf

[mysqld]

#skip-grant-tables

8.修改mysql服务的登录密码

mysql -uroot -p
password:由/var/log/mysqld.logd中过滤出的mysql的初始密码
进入mysql服务
set password=passworda(“dbpassword”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值