概述
其实主要手续就两个:
-
使用mysql自带的mysqldump数据备份工具编写sql导出命令;
-
使用linux crontabs定时任务,定时执行脚本命令;
其实很简单,这里讲我的实现过程和遇到的问题,讲的详细一点,所以可能会有点啰嗦。。。
mysqldump命令介绍
基础命令尝试
比如下面这行,作用是使用 mysqldump
导出 本地 mysql
的 test
数据库到 /opt/test.sql
文件(自动生成)。
/usr/bin/mysqldump -uroot -proot -h127.0.0.1 test > /opt/test.sql;
若出现命令不存在
-bash: mysqldump: command not found
说明目录下没有 mysqldump
文件,可以执行以下命令生成链接文件 (/usr/local/mysql
为一般mysql安装路径,请根据实际安装位置更换)
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin
然后,解释下上面命令的各项分解:
/usr/bin/mysqldump
:上述生成的mysqldump链接文件,mysql自带工具-uroot
:-u + 数据库用户名-proot
:-p + 数据库密码-h127.0.0.1
:-h + 对应数据库ip;默认端口3306;若修改了端口加上如-P3307
,大写的 -P + 端口test
:需要导出的数据库名,个人比较喜欢分别导出,一次性导出恢复比较麻烦/opt/test.sql
:生成sql文件位置,随便写
命令进阶介绍
mysqldump 命令语法:
-
Mysqldump [option] db_name [tb1_name …] , 备份库中某些表
-
Mysqldump [option] --databases db_name1 db_name2… , 备份指定数据库
-
Mysqldump [option] --all-databases , 备份整个数据库
-
Mysqldump [option] db_name tb_name --wher