MySQL 使用命令行备份还原迁移数据库

VPS做了限制使用phpmyadmin来备份数据库每次都需要更改配置重启服务,多多少少对网站有些影响。MySQL和web装在同一台服务器,可以利用MySQL命令来对指定数据库备份。

0x01 数据库举例

数据库地址:127.0.0.1    数据库用户:pangzhan    数据库名称:wordpress    数据库密码:123(321)

0x02 数据库语法

「mysqldump 备份语法」
mysqldump -h[MySQL主机] -u[数据库用户] -p[数据库密码] [数据库] > [指定路径]

「mysqldump 还原语法」
mysqldump -h[MySQL主机] -u[数据库用户] -p[数据库密码] [数据库] < [指定路径]
# 备份和还原数据库的语法不同的地方是破折号的方向;「>」备份数据库 「<」还原数据库;

0x03 数据库备份

「备份数据库到指定目录」
mysqldump -h127.0.0.1 -upangzhan -p123\(\321\)\ wordpress > /home/pangzhan/backup/wordpress.sql
# 数据库的密码包含了「()」括号这种特殊字符,需要进行转译;

「备份到当前目录并删除表格式」
mysqldump --add-drop-table -h127.0.0.1 -upangzhan -p123\(\321\)\ wordpress > wordpress.sql

「压缩备份数据库到指定目录」
mysqldump -h127.0.0.1 -upangzhan -p123\(\321\)\ wordpress | gzip > /home/pangzhan/backup/wordpress.sql.gz

「备份MySQL数据库表」
mysqldump -h127.0.0.1 -upangzhan -p123\(\321\)\ wordpress table1 table2 > /home/pangzhan/backup/table12.sql
# 备份 wordpress 数据库table1、table2这两个表到 /home/pangzhan/backup/table12.sql

「同时备份多个MySQL数据库」
mysqldump -h127.0.0.1 -upangzhan -p123\(\321\)\ --databases wordpress thinkphp > /home/pangzhan/backup/w_t.sql
# 备份两个数据库wordpress、thinkphp到指定目录 /home/pangzhan/backup/w_t.sql

「仅备份多个数据库结构」
mysqldump --no-data -h127.0.0.1 -upangzhan -p123\(\321\)\ --databases wordpress thinkphp > /home/pangzhan/backup/wt.sql

「备份MySQL所有数据库」
mysqldump --all-databases -h127.0.0.1 -upangzhan -p123\(\321\)\ > /home/pangzhan/backup/all_database.sql
# 备份MySQL所有数据库,需要用户对所有数据库都有权限;

0x04 数据库还原

「还原数据库」
mysql -h127.0.0.1 -upangzhan -p123\(\321\)\ wordpress < /home/pangzhan/backup/wordpress.sql

「压缩的数据库还原」
gunzip < /home/pangzhan/backup/wordpress.sql.gz | mysql -h127.0.0.1 -upangzhan -p123\(\321\)\ wordpress

0x05 数据库迁移

「数据库迁移」 
mysqldump -h127.0.0.1 -upangzhan -p123\(\321\)\ wordpress | mysql --host=远程数据库地址 -u远程数据库用户 -p远程数据库密码 -C test 
# 将本机MySQL数据库wordpress,迁移到远程MySQL数据库test;
相关推荐
python ERROR: Command errored out with exit status 1:
Windows Server 2019 域环境搭建 SMB 共享文件服务
Windows Server 2016 搭建 SMB 共享文件
Parallels Desktop 15.1.3