PowerShell下, MySQL备份与还原遇到的坑
1. 在 PowerShell 下, 使用如下命令备份 MySQL
$> mysqldump -u root -p database_name > backup_database.sql
生成的备份文件编码方式是 UTF-16, 如果使用 cmd 执行生成的确实 UTF-8 编码的, 这样导致 PowerShell 下生成的备份文件无法恢复数据(具体看第三点)
如下图, 两个分别使用 PowerShell 和 cmd 生成的备份文件, 使用 VSCode 打开右下角显示的编码不同.
2. 在 PowerShell 下, 使用如下命令恢复数据会报错
$> mysql -u root -p database_name < backup_database.sql
如图,示例使用 PowerShell 备份文件 db1_ps.sql 恢复数据库 db1。
3. PowerShell 生成的备份文件, 既然在 PowerShell 下, 无法使用命令 mysql -u root -p database_name < backup_database.sql
恢复, 那么换成 cmd 执行可以吗?
答案是否定的!
如图
解决方案
直接使用 cmd 备份和还原数据就可以了。
没想到吧?
就是这么简单!