完全备份具体步骤,只需要一行操作:
步骤:
保证mysql服务是正常的,然后执行下面的备份命令
# innobackupex --user root --password 123456789 /allsql
完全恢复具体步骤:
步骤一:
# systemctl stop mysqld
步骤二:
# cd /allsql/
# ls
2021-12-27_22-22-40
# innobackupex --apply-log /allsql/2021-12-27_22-22-40
# rm -rf /var/lib/myslq/*
# 步骤三:
innobackupex --copy-back /allsql/2021-12-27_22-22-40
步骤四:
查看mysql配置文件"/etc/my.cnf"中含有"/var/lib/mysql/"的子目录是否存在,
不存在则创建,因为前期删除了"/var/lib/mysql/"所有文件,避免配置文件中
有些目录"innobackupex"没有备份,无法重启mysqld服务;
# cat /etc/my.cnf | grep "/var/lib/mysql/"
socket=/var/lib/mysql/mysql.sock
log-bin=/var/lib/mysql/binlog/bin_log_sql
我需要创建目录:
mkdir /var/lib/mysql/binlog/
步骤五:
修改mysql目录文件的属主和属组
# chown -R mysql:mysql /var/lib/mysql
步骤六:
重启服务:
systemctl start mysqld
排查思路:
(1)
重启服务失败排查思路:查看"/etc/my.cnf"中的各种文件和目录是否存在,
如果不存在,需要创建,同时修改文件的属主和属组为"mysql:mysql";
(2)
递归修改"/var/lib/mysql"权限
chown -R mysql:mysql /var/lib/mysql。
我的错误是mysql配置文件中"log-bin=/var/lib/mysql/binlog/bin_log_sql"文件在首次全量备份后不存在。 需要创建"/var/lib/mysql/binlog/"目录,同时将权限修改为"mysql:mysql"
我遇到的错误信息如下:
[root@W103 ~]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@W103 ~]#
[root@W103 ~]# journalctl -xe
--
-- Unit mysqld.service has failed.
--
-- The result is failed.
Dec 27 22:53:31 W103 systemd[1]: Unit mysqld.service entered failed state.
Dec 27 22:53:31 W103 systemd[1]: mysqld.service failed.
Dec 27 22:53:31 W103 systemd[1]: mysqld.service holdoff time over, scheduling restart.
Dec 27 22:53:31 W103 systemd[1]: Stopped MySQL Server.
-- Subject: Unit mysqld.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mysqld.service has finished shutting down.
Dec 27 22:53:31 W103 systemd[1]: start request repeated too quickly for mysqld.service
Dec 27 22:53:31 W103 systemd[1]: Failed to start MySQL Server.
-- Subject: Unit mysqld.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mysqld.service has failed.
--
-- The result is failed.
Dec 27 22:53:31 W103 systemd[1]: Unit mysqld.service entered failed state.
Dec 27 22:53:31 W103 systemd[1]: mysqld.service failed.