ubuntu上sqladmin迁移指南
导读:Ubuntu 上使用 SQLAdmin 的迁移指南 一 适用场景与名词澄清 SQLAdmin 通常是用于管理 MySQL 的第三方 Web 管理工具,适合做“导出/导入 SQL 备份”的迁移方式;若你的源库是 SQL Server,SQL...
Ubuntu 上使用 SQLAdmin 的迁移指南
一 适用场景与名词澄清
- SQLAdmin 通常是用于管理 MySQL 的第三方 Web 管理工具,适合做“导出/导入 SQL 备份”的迁移方式;若你的源库是 SQL Server,SQLAdmin 并不适用,应使用 SSMS/sqlcmd/bcp/SSIS 等工具完成迁移。迁移前务必完成全量备份,并在非生产环境演练。
二 迁移方案总览
- 方案一(推荐):使用 mysqldump 导出为 .sql,在目标库用 **SQLAdmin 的“导入”**或 mysql 命令行恢复。适合大多数场景,操作可控、跨版本/跨主机通用。
- 方案二:使用 **SQLAdmin 的“备份/恢复”**功能在界面完成导出与导入。适合图形化操作、快速上手。
- 方案三(物理迁移/同版本升级):迁移 datadir 目录(停机窗口要求高),适合同版本、同配置之间的快速切换。
- 方案四(SQL Server 场景):在 Windows 上用 SSMS 备份,将 .bak 传到 Ubuntu,使用 sqlcmd/RESTORE DATABASE 还原;大表可用 bcp 分表导出/导入。
三 方案一 mysqldump 导出导入(推荐)
- 步骤
-
源库导出
- 仅库结构与数据:
- mysqldump -u 用户名 -p 数据库名 > backup.sql
- 含存储过程/触发器/事件:
- mysqldump -u 用户名 -p --routines --triggers --events --single-transaction --hex-blob 数据库名 > backup.sql
- 超大库建议加 –single-transaction(InnoDB)减少锁表,或使用物理工具(如 xtrabackup)。
- 仅库结构与数据:
-
传输到目标服务器
- scp backup.sql 用户名@目标IP:/path/to/destination/
- 或 rsync -avz backup.sql 用户名@目标IP:/path/to/destination/
-
目标库准备
- 若库不存在先创建:mysql -u 用户名 -p -e “CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ”
-
目标库导入
- 方式 A(命令行):mysql -u 用户名 -p 数据库名 < backup.sql
- 方式 B(SQLAdmin):登录 Web 界面 → 选择目标库 → 导入 → 选择 backup.sql → 执行。
-
四 方案二 使用 SQLAdmin 备份与恢复界面
- 备份
- 登录 SQLAdmin → 选择数据库 → 工具栏 备份 → 配置名称/类型/路径 → 执行;完成后将备份文件妥善保存并传输到目标服务器。
- 恢复
- 登录 SQLAdmin → 恢复 → 选择目标数据库 → 选择文件(备份 SQL)→ 配置恢复选项 → 执行。
五 方案三 物理迁移 datadir(同版本/同配置)
- 适用:需要快速“整机”迁移或同版本原地升级,要求有停机窗口。
- 步骤
- 停库:sudo systemctl stop mysql
- 复制数据目录(建议先 cp -a 保留权限与属性):
- sudo cp -a /var/lib/mysql /mnt/data/mysql
- 修改配置 /etc/mysql/my.cnf(或 /etc/mysql/mysql.conf.d/mysqld.cnf):
- [mysqld] 下设置:datadir=/mnt/data/mysql
- 配置 AppArmor(Ubuntu 常见要求):
- /etc/apparmor.d/usr.sbin.mysqld 与 /etc/apparmor.d/abstractions/mysql 中添加对新目录的读写/加锁权限
- 重启服务与验证:
- sudo systemctl restart apparmor
- sudo systemctl start mysql
- 登录 MySQL 校验数据:SHOW DATABASES; SELECT COUNT(*) FROM 关键表;
- 风险提示:务必先完整备份,变更前在测试环境验证,操作期间保持停机窗口。
六 常见问题与最佳实践
- 字符集与排序规则:建议统一为 utf8mb4/utf8mb4_unicode_ci,避免导入后乱码或索引限制问题。
- 大对象与一致性:导出时加 –hex-blob;InnoDB 使用 –single-transaction 减少锁表;超大库考虑 xtrabackup 或分批迁移。
- 权限与用户:导出通常不含用户/权限定义,迁移后按需执行 GRANT;或在目标库用相同密码重新创建用户。
- 传输与存储:大文件用 scp/rsync,在低峰时段进行;备份文件应加密并异地保存。
- 验证与回滚:导入后抽样校验表行数/关键数据/视图/存储过程;保留回滚方案(原库只读一段时间或保留最近一次备份)。
- 若源库是 SQL Server:在 Windows 用 SSMS 备份得到 .bak,传到 Ubuntu 后用 sqlcmd 执行 RESTORE DATABASE;大表用 bcp 并行导出/导入。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu上sqladmin迁移指南
本文地址: https://pptw.com/jishu/750498.html
