使用mysqldump导出mysql表结构和表数据
创建备份用户
1
| create user dumper@'127.0.0.1' identified by '12345678';
|
赋权限
1 2
| grant select on *.* to dumper@'127.0.0.1'; grant lock tables on *.* to dumper@'127.0.0.1';
|
备份脚本
1 2 3
| #!/bin/bash mkdir /tmp/`date +%y%m%d` mysqldump -h127.0.0.1 -u dumper -p12345678 dbname > /tmp/`date +%y%m%d`/db.sql
|
crontab定时任务
凌晨三点执行脚本。
1
| 0 3 * * * /opt/software/backup_db.sh >/dev/null 2>&1
|
MySQL 备份包含 emoji 表情的数据
在执行备份命令时,指定字符集即可(@see mysqldump –help)
1
| $ mysqldump -uroot -p123456 --default-character-set=utf8mb4 db_name > db_name_bak.sql
|
常见用法
命令行下具体用法如下:
1
| mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名;
|
导出整个数据库结构和数据
1
| mysqldump -h localhost -uroot -p123456 database > dump.sql
|
导出单个数据表结构和数据
1
| mysqldump -h localhost -uroot -p123456 database table > dump.sql
|
导出整个数据库结构(不包含数据)
1
| mysqldump -h localhost -uroot -p123456 -d database > dump.sql
|
导出单个数据表结构(不包含数据)
1
| mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
|