备份数据

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 的行为。

  1. 检查$PROFILE 文件是否存在

    1. 打开PowerShell并输入Test-Path $PROFILE检查文件是否存在
    • 返回True,说明文件已存在
    • 返回False,说明文件已不存在
  2. 创建$PROFILE 文件(如果不存在)

    1. 使用如下命令创建:New-Item -Path $PROFILE -ItemType File -Force
  3. 编辑$PROFILE 文件

    1. 打开$PROFILE 文件进行编辑:notepad $PROFILE
    2. 在文件中添加以下内容:$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
  4. 验证配置是否生效

    1. 输入以下命令查看是否已完成更改:$PSDefaultParameterValues['Out-File:Encoding']
    • 如果输出为utf8,说明配置已生效

cmd更改的方法

  1. 打开 控制面板时钟和区域区域
  2. 管理 选项卡下,点击 更改系统区域设置
  3. 勾选 Beta: 使用 Unicode UTF-8 提供全球语言支持
  4. 点击 确定,然后重启电脑。