使用mysqldump命令进行线上数据库服务器的备份与恢复

本文介绍了如何使用mysqldump进行数据库备份,包括指定条件导出数据,并展示了通过shell命令恢复数据的过程。同时,针对可能出现的乱码问题,给出了检查和修改数据库编码的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库备份与恢复

1. 使用 mysqldump 进行数据库导出

使用 mysqldump 可以进行数据库中数据的导出,可以生成 sql 文件,在 shell 中执行以下命令。

命令:

mysqldump -h[xxx.xxx.xxx.xxx] -u[username] -P[port] -p[password] [databasename] --where='true limit 1000' > dump.sql
  • 【 username 】: 数据库登陆用户名
  • 【 password 】: 数据库登陆密码
  • 【 port 】: 登陆端口
  • 【 database 】: 你要备份的那个数据库
  • 【 xxx.xxx.xxx.xxx 】: 你要备份的那个数据库服务器的 ip 地址

自行将括号中的信息进行替换,–where 可以限制导出数据表的条件,例如,这里限制导出 1000 条数据表中的数据,导出为 sql 文件。

2. 数据恢复

进入 mysql shell,输入以下命令。

命令:

mysql>source [存放 sql 文件的路径]

可能最后你看到的数据库表中可能有乱码问题,这时检查下数据库的编码:

mysql>show variables like 'character%';
+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | latin1                         |
| character_set_connection | latin1                         |
| character_set_database   | utf8mb4                        |
| character_set_filesystem | binary                         |
| character_set_results    | latin1                         |
| character_set_server     | utf8mb4                        |
| character_set_system     | utf8                           |
| character_sets_dir       | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+

--如果是这样的,需要修改下编码--
mysql>set names 'utf8';

-- 这个命令,相当于以下三个命令 --
-- SET character_set_client = utf8; --
-- SET character_set_results = utf8; --
-- SET character_set_connection = utf8; --

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值