更新时间:2022-08-13 21:11:37

​​​​​​Windows 环境备份前置条件检查

备份需要保证 MySQL 实例在线,环境正常可用。
第1步 确认系统环境变量中包含了 MySQL 的 bin 目录。
在“我的电脑”上右键单击,选择属性,然后选择“高级”,单击“环境变量”,在 Path 变量中寻找是否包含有 MySQL 安装目录下的 bin 目录;


在“开始”中运行“cmd”,然后输入:echo %path% 确定,在输出信息中查找是否包含有MySQL 安装目录下的 bin 目录。
提示:MySQL 安装完毕后系统路径可能不会包含 bin 目录,此时需手动添加。
第2步 确认要备份的数据库可以正常连接使用
在进入 MySQL 命令窗口后,可输入几条常用的命令来检查数据库是否可以正常使用。如:
show databases;-----查看数据库列表
use aaa;-----使用 aaa 数据库
show tables;-----查看当前数据库下的所有表


第3步 确认 MySQL 开启了 binlog ,并将日志模式设置为 “ROW”模式
使用命令查看是否开启了日志模式 show variables like 'log_bin'; 

如果没有开启可通过修改 MySQL 配置文件 my.ini 开启:
编辑 my.ini在[mysqld] 下添加 log_bin=mysql_bin,binlog_format="ROW"。
保存后重启 MySQL 服务。


注意:更改 MySQL Binlog 后需要重新启动 MySQL 服务,这样会导致业务中断,请谨慎操作 



第4步 确认用于备份用户的权限,指定某用户进行备份,需要给用户授予响应的权限才使用备份恢复功能,以备份用户为 aaa 为例:
1. MySQL 物理备份和 MySQL 逻辑备份,都需要开启数据库远程用户访问权限;
2. 逻辑备份,需给备份用户 aaa 授予如下权限,操作命令如下:

grant super,select,insert,update,delete,create,drop,create view,index,execute,references,replication client,replication slave,shutdown,reload,process,lock tables,show view,trigger,event on database.* to 'aaa'@'%';

FLUSH PRIVILEGES;

3. 物理备份的用户权限请参照以下表格。

版本      

备份恢复所需权限

MySQL 5.x

PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER, CREATE, ALTER, INSERT, SELECT。 

MySQL 8.x

PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER, BACKUP_ADMIN , CREATE, ALTER, INSERT, SELECT。


注意:
可登录数据库,通过show grants for ‘xxx@’%’查看xxx用户权限。
若权限不是以上说明所需的权限,请按照以上方法给用户授予对应的权限。
MySQL root用户一般具有逻辑备份和物理备份所需的权限。


Linux 主机版环境备份前置条件检查

备份需要保证 MySQL 实例在线,环境正常可用。
第1步 确认要备份的数据库可以正常连接使用
使用命令在数据库查看数据库实例是否存在 ps -ef|grep mysql;

第2步 确认 MySQL 开启了 binlog 日志,并将日志模式设置为 “ROW”模式
使用命令在数据库查看是否开启了日志模式show variables like 'log_bin';
 

如果没有开启可通过修改 MySQL 配置文件 my.cnf 开启:
在【mysqld】中,添加 log_bin=mysql_bin,binlog_format="ROW"
 

注意:若添加该命令后导致 MySQL服务无法启动,则需要在 my.cnf中【mysqld】下再添加server_id = 1,保存后即可重新启动 MySQL服务。
第3步 确认 MySQL 安装用户能够通过 netstat 命令查到 MySQL 进程端口。
在root用户下执行:chmod +s /bin/netstat,使 MySQL 用户拥有 root 权限执行 netstat 程序。
在 MySQL 安装用户下输入命令netstat -nap|grep mysqld,查到 MySQL进程对应端口。


第4步 确保用于备份的用户具有对应的权限,检查方式同【前置条件检查】中的 第4步。