mysql 数据库备份还原命令

备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql


备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql


直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz


备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql


同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql


仅仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql


备份服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql


还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql


还原压缩的MySQL数据库

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename


将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
<think>我们正在讨论MySQL数据库备份还原命令行操作方法。根据引用内容,我们可以总结如下: 1. 备份:使用`mysqldump`命令 2. 还原:使用`mysql`命令 ### 备份数据库 基本语法: ```bash mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件.sql] ``` 注意:`-p`和密码之间没有空格(如果密码为空,可以只写`-p`,然后回车输入密码)。 例如,备份名为`mydb`的数据库到`backup.sql`文件: ```bash mysqldump -u root -p123456 mydb > backup.sql ``` ### 还原数据库 基本语法: ```bash mysql -u [用户名] -p[密码] [数据库名] < [备份文件.sql] ``` 或者,先登录MySQL,然后使用`source`命令: ```bash mysql> source [备份文件路径] ``` 例如,还原`backup.sql`到`mydb`数据库: ```bash mysql -u root -p123456 mydb < backup.sql ``` 或者: ```bash mysql -u root -p Enter password: mysql> use mydb; mysql> source /path/to/backup.sql; ``` ### 注意事项 1. 还原前确保目标数据库已存在。如果不存在,需要先创建: ```sql CREATE DATABASE mydb; ``` 2. 备份文件是SQL语句的集合,包含创建表、插入数据等命令。 ### 常见错误 1. **权限问题**:确保用户有备份还原的权限。 2. **数据库不存在**:还原时目标数据库必须存在,除非备份文件包含创建数据库的语句(使用`--databases`选项备份时会包含创建数据库的语句)。 ### 特殊备份选项 - 备份多个数据库:使用`--databases`选项后跟多个数据库名。 - 备份所有数据库:使用`--all-databases`选项。 -备份结构(不包含数据):使用`--no-data`选项。 -备份数据(不包含结构):使用`--no-create-info`选项。 例如,备份所有数据库: ```bash mysqldump -u root -p --all-databases > all_backup.sql ``` ### 引用说明 根据引用[1],数据库还原是重要的维护步骤,引用[2]和[3]提到了命令备份还原的方法,引用[4]则提到使用Navicat工具可以简化操作,但命令行是基础。 §§相关问题§§ 1. 如何备份MySQL数据库中的单个表? 2. 使用`mysqldump`备份时如何忽略某些表? 3. MySQL物理备份和逻辑备份有什么区别?</think>### MySQL数据库备份还原命令行操作指南 #### 一、数据库备份操作 1. **基本备份命令** 使用`mysqldump`命令备份整个数据库: ```bash mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件.sql] ``` 示例(备份名为`mydb`的数据库): ```bash mysqldump -u root -p123456 mydb > mydb_backup.sql ``` 2. **备份特定表** ```bash mysqldump -u root -p123456 mydb table1 table2 > tables_backup.sql ``` 3. **备份所有数据库** ```bash mysqldump -u root -p123456 --all-databases > all_dbs_backup.sql ``` #### 二、数据库还原操作 1. **基本还原命令** ```bash mysql -u [用户名] -p[密码] [数据库名] < [备份文件.sql] ``` 示例(还原到`mydb`数据库): ```bash mysql -u root -p123456 mydb < mydb_backup.sql ``` 2. **登录后还原(推荐)** ```bash mysql -u root -p mysql> CREATE DATABASE mydb_restored; # 先创建数据库 mysql> USE mydb_restored; mysql> SOURCE /path/to/mydb_backup.sql; ``` #### 三、关键注意事项 1. **权限要求** - 备份/还原操作需要`SELECT`和`FILE`权限 - 还原时目标数据库需提前创建(除非备份包含`CREATE DATABASE`语句) 2. **常见错误处理** - **权限错误**:检查用户权限 `SHOW GRANTS FOR user@host;` - **字符集问题**:备份时添加 `--default-character-set=utf8mb4` - **大文件处理**:使用 `gzip` 压缩备份文件 3. **备份优化参数** ```bash mysqldump --single-transaction --routines --triggers mydb > optimized_backup.sql ``` > **重要提示**:生产环境建议添加`--single-transaction`参数保证备份一致性(仅限InnoDB引擎)[^3]。物理备份(如拷贝数据文件)适用于大型数据库,但需停机操作[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值