mysql数据库备份及还原
一、Mysql数据库备份指令格式:
mysqldump -h 主机名 -P 端口 -u 用户名 -p 密码 (–database) 数据库名 > 文件名.sql
注:直接cmd执行该指令即可,不需要先mysql -u root -p链接数据库
1、备份MySQL数据库的命令
mysqldump -h hostname -u username -p password databasename > backupfile.sql
mysqldump -u 用户名-p 数据库> /脚本名称.sql
2、备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
3、直接将MySQL数据库压缩备份
mysqldump -h hostname -u username -p password databasename | gzip > backupfile.sql.gz
4、备份MySQL数据库某个(些)表
mysqldump -h hostname -u username -p password databasename specific_table1 specific_table2 > backupfile.sql
5、同时备份多个MySQL数据库
mysqldump -h hostname -u username -p password –databases databasename1 databasename2 databasename3 > multibackupfile.sql
6、仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
7、备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql
二、数据库还原有三种方式:source命令、mysql、gunzip命令
1、source 命令,进入mysql数据库控制台
mysql -u root -p mysql>use 数据库
mysql>source /home/work/db/bkdb.sql
2、mysql
备份需要数据库已经存在,如果不存在,需要创建数据库,登录mysql服务器
create database if not exists 数据库名称 mysql -h hostname -u username -p password databasename < backupfile.sql
3、gunzip
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
插入数据时,如果数据库设置的编码规范不一致,可以先手动指定编码规范
ALTER TABLE sys_config DEFAULT CHARACTER SET utf8mb4; ALTER TABLE `sys_config` CONVERT TO CHARACTER SET utf8mb4;
set character_set_client=utf8; set character_set_connection=utf8; set character_set_database=utf8; set character_set_results=utf8; set character_set_server=utf8; INSERT INTO `bs_province` VALUES ('1', '110000', '北京', '北京', '116.405289', '39.904987', '1', '2019-02-28 17:16:58', '2019-02-28 17:17:05', '', '0', '00000000');
使用实例
一、将数据库压缩备份 mysqldump -u root -p MyCoreFrame | gzip > MyCoreFrame20220609.sql.gz mysqldump -u root -p 数据库名称 | gzip > 文件名称.sql.gz 二、压缩包还原数据库 gunzip < MyCoreFrame20220609.sql.gz | mysql -u root -p MyCoreFrame gunzip < 文件名称.sql.gz | mysql -u root -p 数据库名称

浙公网安备 33010602011771号