千家信息网

MySQL迁移升级解决方案

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,任务背景由于现有业务架构已不能满足当前业务需求,在保证数据完整的前提下,现需要将原有数据库迁移到另外一台单独的服务器上,在保证原有服务正常的情况下,将原有LAMP环境中mysql数据库版本5.6.31
千家信息网最后更新 2025年11月09日MySQL迁移升级解决方案

任务背景


由于现有业务架构已不能满足当前业务需求,在保证数据完整的前提下,现需要将原有数据库迁移到另外一台单独的服务器上,在保证原有服务正常的情况下,将原有LAMP环境中mysql数据库版本5.6.31升级为5.6.35.

任务要求

1. 在业务维护时间(02:00-4:00)段对数据库进行全量备份

2. 将MySQL数据库从原有服务器迁移到新服务器上并且升级版本为5.6.35

任务拆解

1. 新服务器安装Centos7.5,并且安装MySQL-5.6.35版本数据库

2. 停止监控、停止前端应用、停止MySQL数据库

3. 备份数据库(省略)

4. 迁移数据库-->同步数据库文件到新的环境中(rsync/scp)

5. 测试验证

任务解决方案

环境说明

具体步骤

1. 老环境停止相应服务

1) 停止监控略2) 停止应用服务apache和数据库[root@lamp ~]# service httpd stop[root@lamp ~]# service mysql stopShutting down MySQL.. SUCCESS!

2. 新环境部署安装MySQL

① 官网下载mysql软件

# du -sh mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz301M mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

② 安装需求

安装目录(basedir):/usr/local/mysql数据库目录(datadir):/usr/local/mysql/data端口:3306socket文件:/tmp/mysql.sock错误日志文件:/usr/local/mysql/data/mysql.err

③ glibc方式安装步骤

1) 解压软件包

# tar -xf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz# cd /usr/local/# ln -s /soft/installer/mysql-5.6.35-linux-glibc2.5-x86_64 mysql注意:进入到/usr/local目录里软连接

2) 创建用户并修改目录权限

1. 查看用户是否存在[root@db01 mysql]# id mysqlid: mysql: no such user[root@db01 mysql]# useradd -r -s /sbin/nologin mysql[root@db01 mysql]# id mysqluid=997(mysql) gid=995(mysql) 组=995(mysql)2. 更改mysql的安装目录的权限[root@db01 mysql]# chown -R mysql.mysql /usr/local/mysql/[root@db01 mysql]# ll -d /usr/local/mysql/drwxr-xr-x 13 mysql mysql 191 10月 9 10:26 /usr/local/mysql/

3) 修改配置文件

修改/etc/my.cnf文件[root@db01 mysql]# vim /etc/my.cnf[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport=3307socket=/usr/local/mysql/mysql.socklog-error=/usr/local/mysql/data/mysql3307.err

4) 拷贝启动脚本

[root@db01 mysql]# pwd/usr/local/mysql[root@db01 mysql]# cp support-files/mysql.server /etc/init.d/mysql

5) 初始化说明

1. 正常安装新数据库直接使用,是需要初始化数据库然后再启动使用

2. 当前需求是将原来MySQL数据库文件迁移到新的数据库的数据目录里,故不需要初始化

3. 迁移数据库到新环境

说明:新数据库服务器上操作

① 同步老库数据文件到新库数据目录里

[root@db01 mysql]# rsync -av 10.1.1.1:/usr/local/mysql/data/ /usr/local/mysql/data

② 启动新数据库

直接启动新的数据库,并且检查日志文件(查看是否有选项不兼容)[root@db01 mysql]# service mysql start

③ 升级数据库(重点,升级数据库文件)

使用mysql_upgrade命令检查数据文件的兼容性[root@db01 ~]# /usr/local/mysql/bin/mysql_upgrade -S /tmp/mysql.sock -p123注意:1. 在实际的环境中,建议使用-s参数,不检查业务表,只检查系统文件2. 升级是需要连接数据库的,-p密码 -S指定socket文件[root@db01 mysql]# /usr/local/mysql/bin/mysql_upgrade -pEnter password:Looking for 'mysql' as: /usr/local/mysql/bin/mysqlLooking for 'mysqlcheck' as: /usr/local/mysql/bin/mysqlcheckError: Failed while fetching Server version! Could be due to unauthorized access.FATAL ERROR: Upgrade failed原因:连接数据库失败

4. 原web服务连接新数据库(LAMP=>LNMP)

① 修改php连接mysql的配置文件(如果有)

[root@lamp ~]# find / -name php.ini/usr/local/lib/php.ini[root@lamp ~]# vim /usr/local/lib/php.ini[MySQL]mysql.default_port = 3306mysql.default_host = 10.1.1.37[MySQLi]mysql.default_port = 3306mysql.default_host = 10.1.1.37

② 修改网站配置文件连接数据库

修改www.myblog.net网站所在数据库目录的配置文件[root@lamp www]# pwd/var/html/www[root@lamp www]# vim wp-config.php...// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** ///** WordPress数据库的名称 */define('DB_NAME', 'myblog');/** MySQL数据库用户名 */define('DB_USER', 'root');/** MySQL数据库密码 */define('DB_PASSWORD', '123');/** MySQL主机 */define('DB_HOST', '10.1.1.37');/** 创建数据表时默认的文字编码 */define('DB_CHARSET', 'utf8');

③ 新数据库授权为web服务

新的mysql数据库需要给root@10.1.1.19用户授权mysql> grant all on *.* to 'root'@'10.1.1.19' identified by '123';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)注意:把防火墙firewalld和selinux全部关闭掉,不然打死都连接不上!

④ 启动web服务

[root@lamp ~]# service apache start[root@lamp ~]# netstat -nltp|grep httpdtcp 0 0 :::80 :::* LISTEN 1376/httpd

⑤ 测试验证

1.浏览器访问2. web服务器上使用mysql工具远程访问[root@lamp ~]# mysql -uroot -h20.1.1.37 -uroot -p123

学习资源:

5 天玩转 MySQL

https://pan.baidu.com/s/1Cb1eGwb4dn45I4tbQ2Ggzg 提取码:yfw6

https://pan.baidu.com/s/1qXYYhcS 提取码: mkqu

数据 数据库 文件 服务 目录 环境 服务器 升级 业务 任务 用户 检查 配置 版本 需求 主机 备份 密码 日志 权限 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发投标工作 外文期刊的数据库 网络安全股票龙头股视频 数据库一半出来一半出不来 没挂系统检测游戏数据库 郑训汇纂及数据库建设 kdb数据库的环境变量 区域网络安全一体化防控 服务器怎么加装路由器 互联网科技公司的工作流程 资深软件开发需要学什么专业 华众网络安全 互联网展示科技 米尺网络技术最新视频 十四五网络安全产业发展目标 千创网络技术有限公司官网 数据库运维工程师简历模板 防沉迷网络安全用网心得体会 冷水江软件开发职校 服务器清空数据还能找回来吗 应用下载失败服务器无响应 数据库应用技术综合应用汽车 新罗区雨花台网络技术服务部 黑龙江新希望网络技术开发 国家网络安全周2020年 网络安全等级保护条例正式版下载 向数据库添加的表应该 服务器一个区多少人 国网网络安全通报 松江区品质数据库服务商价格查询
0