MySQL的备份与恢复以及遇到的问题
备份数据
mysqldump基本指令:
mysqldump -u 用户名 -p 数据库名 表名 > 备份文件路径.sql
高级选项:
- 指定字符集:
mysqldump -u 用户名 -p --default-character-set=utf8mb4 数据库名 > 备份文件路径.sql
- 只备份表结构:
mysqldump -u 用户名 -p --no-data 数据库名 > 备份文件路径.sql
- 只备份表数据:
mysqldump -u 用户名 -p --no-create-info 数据库名 > 备份文件路径.sql
- 压缩备份:
mysqldump -u 用户名 -p 数据库名 | gzip > 备份文件路径.sql.gz
- 忽略表:
mysqldump -u 用户名 -p 数据库名 --ignore-table=数据库名.表1 --ignore-table=数据库名.表2 > 备份文件路径.sql
恢复数据
mysql -u root -p 目标数据库名 < 备份文件路径.sql
-u root
:使用 root 用户登录。-p
:提示输入密码。目标数据库名
:将备份恢复到该数据库。< 备份文件路径.sql
:指定备份文件的路径。
恢复数据常见到的问题
问题 1:备份文件编码问题
如果备份文件是 UTF-16 或其他编码,可能会导致导入失败。解决方法:
- 将文件转换为 UTF-8 无 BOM 格式(使用 VS Code 或 Notepad++)。
- 在导入时指定编码:
mysql -u root -p --default-character-set=utf8 目标数据库名 < 备份文件路径.sql
- 将powershell或cmd的默认格式改成utf8
powershell更改的方法
要让PowerShell的默认输出编码设置为utf8,需要修改PowerShell的配置文件($PROFILE
)来实现。$PROFILE
是 PowerShell 的配置文件路径,用于存储每次启动 PowerShell 时自动执行的命令或脚本。通过修改 $PROFILE
,可以永久更改 PowerShell 的行为。
检查
$PROFILE
文件是否存在- 打开PowerShell
并输入Test-Path $PROFILE
检查文件是否存在
- 返回True,说明文件已存在
- 返回False,说明文件已不存在
- 打开PowerShell
创建
$PROFILE
文件(如果不存在)- 使用如下命令创建:
New-Item -Path $PROFILE -ItemType File -Force
- 使用如下命令创建:
编辑
$PROFILE
文件- 打开
$PROFILE
文件进行编辑:notepad $PROFILE
- 在文件中添加以下内容:
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
- 打开
验证配置是否生效
- 输入以下命令查看是否已完成更改:
$PSDefaultParameterValues['Out-File:Encoding']
- 如果输出为utf8,说明配置已生效
- 输入以下命令查看是否已完成更改:
cmd更改的方法
- 打开 控制面板 → 时钟和区域 → 区域。
- 在 管理 选项卡下,点击 更改系统区域设置。
- 勾选 Beta: 使用 Unicode UTF-8 提供全球语言支持。
- 点击 确定,然后重启电脑。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Czar!
评论
ValineDisqus