如何恢复centos上的sqladmin数据
导读:恢复思路与前提 sqladmin通常是用于管理MySQL的Web工具名称,并非数据库引擎本身。恢复数据前先确认你使用的数据库类型(如MySQL/MariaDB或Microsoft SQL Server),以及手头的备份类型(逻辑备份:.s...
恢复思路与前提
- sqladmin通常是用于管理MySQL的Web工具名称,并非数据库引擎本身。恢复数据前先确认你使用的数据库类型(如MySQL/MariaDB或Microsoft SQL Server),以及手头的备份类型(逻辑备份:.sql 文件,或物理备份:xtrabackup 目录)。
- 准备与校验:
- 备份文件完整可读(例如:校验.sql 文件大小或 xtrabackup 目录内文件一致性)。
- 明确目标实例与数据库名,避免覆盖生产数据。
- 建议先停写或切换到维护窗口,并在非生产环境演练。
- 记录当前 MySQL 数据目录(如:/var/lib/mysql)与配置文件(如:/etc/my.cnf)。
MySQL 使用 mysqldump 的逻辑恢复步骤
- 适用场景:你拥有由 mysqldump 导出的 .sql 备份文件。
- 操作步骤:
- 将备份文件上传到服务器(如:/root/mydatabase_backup.sql)。
- 如目标库不存在,先登录 MySQL 创建空库:
mysql -u root -p -e “CREATE DATABASE IF NOT EXISTS mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ” - 执行恢复:
mysql -u root -p mydatabase < /root/mydatabase_backup.sql - 验证:
mysql -u root -p -e “USE mydatabase; SHOW TABLES; ”
- 提示:若备份文件包含“CREATE DATABASE”和“USE”语句,可直接执行:mysql -u root -p < /root/mydatabase_backup.sql。
MySQL 使用 Percona XtraBackup 的物理恢复步骤
- 适用场景:你拥有 xtrabackup 生成的物理备份目录(如:/backups/full_backup)。
- 操作步骤:
- 准备备份(使备份处于一致性状态):
xtrabackup --prepare --target-dir=/backups/full_backup - 停止数据库:
mysqladmin -uroot -p shutdown - 备份并清空原数据目录(务必确认路径,常见为 /var/lib/mysql):
mv /var/lib/mysql /var/lib/mysql.bak_$(date +%F_%T)
mkdir -p /var/lib/mysql - 拷贝回数据:
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/backups/full_backup - 修正权限并启动:
chown -R mysql:mysql /var/lib/mysql
systemctl start mysqld # 或:/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql & - 验证:
mysql -uroot -p -e “SELECT COUNT(*) FROM information_schema.tables WHERE table_schema=‘your_db’; ”
- 准备备份(使备份处于一致性状态):
- 注意:物理恢复会覆盖现有数据目录,操作前务必完整备份当前环境与数据。
Microsoft SQL Server 在 CentOS 的恢复步骤 mssql
- 适用场景:你的备份是 .bak 文件,数据库为 SQL Server on Linux。
- 操作步骤:
- 将 .bak 上传至服务器(如:/SQLServer/SQLBackup/YourDB.bak)。
- 使用 sqlcmd 执行还原,必要时将文件移动到 SQL Server 数据目录并指定 MOVE:
sqlcmd -S localhost -U SA -P ‘YourStrong@Passw0rd’ -Q "
RESTORE DATABASE [YourDB]
FROM DISK = N’/SQLServer/SQLBackup/YourDB.bak’
WITH MOVE ‘YourDB’ TO ‘/var/opt/mssql/data/YourDB.mdf’,
MOVE ‘YourDB_log’ TO ‘/var/opt/mssql/data/YourDB_log.ldf’,
STATS = 5; " - 验证:
sqlcmd -S localhost -U SA -P ‘YourStrong@Passw0rd’ -Q “USE [YourDB]; SELECT name FROM sys.tables; ”
- 提示:逻辑文件名(如 YourDB / YourDB_log)可用 RESTORE FILELISTONLY 查询。
常见问题与验证
- 权限与路径:确保恢复后数据目录属主为 mysql:mysql,配置文件路径与 my.cnf 中 datadir 一致。
- 版本兼容:xtrabackup 版本应与 MySQL 版本匹配;跨大版本恢复需谨慎评估。
- 字符集与排序规则:导入 .sql 时确认目标库字符集(如 utf8mb4)与备份一致。
- 空间与超时:物理恢复需充足磁盘空间;大数据量导入可适当增大超时参数。
- 快速验证清单:
- 登录数据库检查库/表是否存在(SHOW DATABASES; SHOW TABLES; )。
- 抽样查询数据行数与关键业务表内容。
- 检查错误日志(MySQL:/var/log/mysqld.log;SQL Server:/var/opt/mssql/log/errorlog)。
如需,我可以根据你的备份类型(.sql 或 xtrabackup 目录或 .bak)、目标数据库名与数据目录路径,给出一键可执行的命令清单。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何恢复centos上的sqladmin数据
本文地址: https://pptw.com/jishu/747873.html
