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;