导出 SQL 文件
使用 mysqldump
工具从 OceanBase 导出 SQL 文件到 output2222.sql
。在这一步中,你需要确保你有正确的权限和数据库访问配置。
mysqldump -h 192.168.191.72 -P 2881 -u root@A_a -p'密码' rhzfdb > output2222.sql
清理 SQL 文件
使用 sed
命令批量修改导出的 SQL 文件,移除 OceanBase 数据库中的特定选项,这些选项在 MySQL 中不支持。
sed -i \-e 's/BLOCK_SIZE = [0-9]*//g' \-e "s/COMPRESSION = 'zstd_1.3.8'//g" \-e 's/ROW_FORMAT = DYNAMIC//g' \-e 's/REPLICA_NUM = 1//g' \-e 's/USE_BLOOM_FILTER = FALSE//g' \-e 's/TABLET_SIZE = [0-9]*//g' \-e 's/PCTFREE = 0//g' \-e "s/AUTO_INCREMENT_MODE = 'ORDER'//g" \output2222.sql
导入 SQL 文件到 MySQL
使用 mysql
命令将清理后的 SQL 文件导入到 MySQL 数据库。确保在运行导入命令前,数据库已经创建好,且用户具备相应的权限。
mysql -h 192.168.191.72 -u rhzf -p'密码' rhzfdb < output2222.sql
注意事项
- 在运行任何脚本前,请确保备份所有的数据,以防任何不可预见的数据丢失。
- 替换
'密码'
为实际的数据库密码。 - 在实际操作中,确保数据库的 IP 地址、端口号、用户名和数据库名称正确无误。
- 由于使用密码的方式在命令行中可能导致安全问题,考虑使用配置文件或其他安全方式提供认证信息。
- 检查
sed
命令后的 SQL 文件以确保所有修改都是正确的,并且没有破坏 SQL 文件的完整性。