MySQL MariaDB 5.5.68 重新部署与数据迁移方案

MariaDB 5.5.68 重新部署与数据迁移方案

针对您的 MariaDB 5.5.68 版本,我将提供一个完整的重新部署和数据迁移方案。由于这是一个较旧的版本,我们需要特别注意兼容性和迁移方法。

迁移前准备工作

1. 评估当前环境

# 检查当前数据库大小
mysql -e "SELECT table_schema 'Database', SUM(data_length + index_length) / 1024 / 1024 'Size (MB)' FROM information_schema.TABLES GROUP BY table_schema;"

# 检查数据库用户和权限
mysql -e "SELECT User, Host FROM mysql.user;"
mysql -e "SHOW GRANTS FOR 'your_user'@'your_host';"

# 检查当前配置
cat /etc/my.cnf

2. 完整备份现有数据库

# 使用mysqldump进行逻辑备份(推荐)
mysqldump --all-databases --single-transaction --routines --triggers --events -u root -p > full_backup_$(date +%Y%m%d).sql

# 同时备份用户权限
mysql -u root -p --skip-column-names -A -e "SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user != ''" | mysql -u root -p --skip-column-names -A | sed 's/$/;/' > mysql_grants_$(date +%Y%m%d).sql

# 备份配置文件
cp /etc/my.cnf /etc/my.cnf.backup.$(date +%Y%m%d)

新环境部署

1. 安装 MariaDB 5.5.68

由于 5.5.68 是一个较旧的版本,您可能需要从官方存档或特定仓库安装:

# 对于 CentOS/RHEL 7
sudo yum install -y https://downloads.mariadb.com/files/MariaDB/mariadb-5.5.68/yum/centos/7/x86_64/rpms/mariadb-5.5.68-centos7-x86_64-server.rpm

# 或者添加MariaDB官方仓库
sudo tee /etc/yum.repos.d/MariaDB.repo <<EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
EOF

sudo yum install -y MariaDB-server MariaDB-client

# 对于 Ubuntu/Debian
# 需要从MariaDB官网下载对应版本的deb包或添加合适的仓库

2. 配置新数据库环境

# 初始化数据库
sudo mysql_install_db --user=mysql

# 启动服务
sudo systemctl start mysql

# 运行安全安装脚本
sudo mysql_secure_installation

# 停止服务以进行配置
sudo systemctl stop mysql

3. 调整配置文件

根据您的旧配置调整新环境的 /etc/my.cnf/etc/my.cnf.d/server.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

# 根据旧配置调整以下参数
# innodb_buffer_pool_size = 
# max_connections = 
# query_cache_size = 
# log-bin = 
# server-id = 

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

!includedir /etc/my.cnf.d

数据迁移

方法一:使用 mysqldump(推荐)

# 在新服务器上恢复数据
mysql -u root -p < full_backup_$(date +%Y%m%d).sql

# 恢复用户权限
mysql -u root -p < mysql_grants_$(date +%Y%m%d).sql

方法二:物理文件复制(适用于大型数据库)

# 1. 停止旧服务器上的MySQL服务
sudo systemctl stop mysql

# 2. 复制数据目录
rsync -av /var/lib/mysql/ user@new-server:/var/lib/mysql/

# 3. 确保新服务器上的文件权限正确
sudo chown -R mysql:mysql /var/lib/mysql

# 4. 启动新服务器上的MySQL服务
sudo systemctl start mysql

迁移后验证

1. 验证数据完整性

# 检查所有数据库是否已迁移
mysql -u root -p -e "SHOW DATABASES;"

# 检查表数量和数据行数
mysql -u root -p -e "SELECT table_schema, COUNT(*) AS table_count FROM information_schema.TABLES GROUP BY table_schema;"

# 抽样检查一些表的数据
mysql -u root -p -e "SELECT COUNT(*) FROM your_database.your_table;"

2. 验证用户和权限

# 检查用户列表
mysql -u root -p -e "SELECT User, Host FROM mysql.user;"

# 验证特定用户的权限
mysql -u root -p -e "SHOW GRANTS FOR 'your_user'@'your_host';"

3. 测试应用程序连接

确保您的应用程序能够连接到新的数据库服务器并正常执行操作。

回滚计划

如果迁移过程中出现问题,需要回滚到旧环境:

  1. 停止新服务器上的MySQL服务
  2. 恢复旧服务器的MySQL服务
  3. 如果需要,使用备份文件恢复数据

升级考虑(可选)

虽然您要求重新部署相同版本,但考虑到 MariaDB 5.5 已停止支持,建议考虑升级到受支持的版本(如 10.3、10.4 或 10.5)。升级步骤:

  1. 备份当前数据库
  2. 安装新版本的 MariaDB
  3. 运行 mysql_upgrade 工具
  4. 验证数据和应用程序兼容性
# 升级示例(以升级到10.5为例)
sudo systemctl stop mysql
sudo yum remove MariaDB-server MariaDB-client
sudo yum install MariaDB-server-10.5 MariaDB-client-10.5
sudo systemctl start mysql
sudo mysql_upgrade -u root -p

注意事项

  1. 版本兼容性:确保应用程序与 MariaDB 5.5.68 兼容
  2. 字符集和排序规则:检查并确保迁移后字符集和排序规则保持一致
  3. 存储引擎:如果使用 InnoDB,确保配置参数一致
  4. 复制设置:如果使用了主从复制,需要重新配置
  5. 定时任务:迁移后需要重新设置任何数据库相关的定时任务
  6. 监控和日志:设置适当的监控和日志记录
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白de成长之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值