数据库迁移

author author     2022-09-19     143

关键词:

数据库迁移操作

准备环境

web01:

安装lnmp+博客

db01:

安装mysql服务

nfs01:

安装nfs服务


cd /home/oldboy/tools/

scp -rp mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz 172.16.1.51:/home/oldboy/tools/

第一个里程碑-部署mysql服务(db01)

01.下载解压软件程序

# 解压mysql二进制包软件程序

cd /home/oldboy/tools

tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

# 移动解压目录到系统程序保存目录中

mkdir -p /application/

mv /home/oldboy/tools/mysql-5.6.34-*-x86_64 /application/mysql-5.6.34

02.添加数据管理用户

# 确认数据管理用户是否存在

id mysql

# 进行程序运行用户添加

useradd mysql -s /sbin/nologin -M

03.创建MySQL程序目录的软链接

ln -s /application/mysql-5.6.34/ /application/mysql

04.对数据库中数据目录授权

chown -R mysql.mysql /application/mysql/data/

05.对数据库进行初始化操作

cd /application/mysql

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql

06.编写修改启动脚本

# 复制启动脚本并授权

cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld 

# 修改启动脚本文件内容(调整程序安装目录信息)

sed -i ‘s#/usr/local/mysql#/application/mysql#g‘ /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

07.设置服务配置文件

# 利用mysql程序默认配置文件替换系统中数据库配置文件

cp /application/mysql/support-files/my-default.cnf /etc/my.cnf 

08.启动mysql数据库程序服务

/etc/init.d/mysqld start

09.登录进入数据库中

# 设置数据库登录初始密码信息

/application/mysql/bin/mysqladmin -u root password ‘oldboy123‘

# 将数据库命令加入环境变量中

echo ‘export PATH=/application/mysql/bin:$PATH‘ >>/etc/profile

source /etc/profile

which mysql

# mysql -uroot -poldboy123


10.加入开机自启动

chkconfig --add mysqld 

chkconfig mysqld on

11.查看服务是否开启

netstat -lntup|grep mysql


第二个里程碑-备份数据(web01)

01.备份数据

/etc/init.d/mysqld start

mysqldump -uroot -poldboy123 --all-databases >/tmp/mysqlbak.sql


02.将备份数据推送到db01上

scp -rp /tmp/mysqlbak.sql 172.16.1.51:/tmp


03.将mysql的主机地址localhost修改为ip形式

vim /application/nginx/html/blog/wp-config.php 

/** MySQL数据库用户名 */

define(‘DB_USER‘, ‘wordpress‘);

/** MySQL数据库密码 */

define(‘DB_PASSWORD‘, ‘oldboy123‘);

/** MySQL主机 */

define(‘DB_HOST‘, ‘172.16.1.51‘);




第三个里程碑-数据还原(db01)

01.还原数据库

mysql -uroot -poldboy123 </tmp/mysqlbak.sql

02.授权刷新(root权限登录)

mysql -uroot -poldboy123

grant all on wordpress.* to ‘wordpress‘@‘172.16.1.0/255.255.255.0‘ identified by ‘oldboy123‘;

flush privileges;

select user,host from mysql.user;


03.使用wordpress用户登录

mysql -uwordpress -poldboy123 -h 172.16.1.51


第四个里程碑-网站上的数据挂着到nfs服务器上

服务端的操作(nfs)------------------------------------

01.检查软件是否存在:

rpm -qa nfs-utils rpcbind

02.进行软件安装

yum install nfs-utils rpcbind -y

03.对安装的两个软件进行启动(先启动rpcbind,再启动nfs)

/etc/init.d/rpcbind start

/etc/init.d/nfs start

04.查看服务是否开启

ss -lntup|egrep "rpcbind|nfs"

05.加入开机自启动及查看

chkconfig rpcbind on

chkconfig nfs on

chkconfig --list|awk ‘$1~/nfs$|rpcbind/‘

06.修改配置文件

vim /etc/exports 

/data 172.16.1.0/24(rw,sync,all_squash)

07.创建共享目录

mkdir -p /data 

ll -d /data/

08.修改共享目录的属主属组的权限

chown -R nfsnobody.nfsnobody /data/

09.重启nfs服务并查看是否支持挂载

/etc/init.d/nfs reload

showmount -e 172.16.1.31

注意:修改完配置文件一定要平滑重启哦


web01服务的操作--------------------------------------

01.创建一个备份用户数据的目录

mkdir -p /tmp/nfsbak

02.先将用户的数据移动到tmp目录下

cd /application/nginx/html/blog/wp-content/uploads

mv 2017/ /tmp/nfsbak/

03.进行软件安装

yum install nfs-utils -y

04.检查是否支持挂载

showmount -e 172.16.1.31

05.挂载上传目录到nfs上及查看是否挂载成功

cd /application/nginx/html/blog/wp-content

mount -t nfs 172.16.1.31:/data ./uploads

df -h

06.进行测试

a.web01端

  [[email protected] uploads]# touch a.txt

  [[email protected] uploads]# ll

  total 0

  -rw-r--r-- 1 nfsnobody nfsnobody 0 Sep 13 15:40 a.txt

b.nfs01端

  [[email protected] data]# ll

  total 0

  -rw-r--r-- 1 nfsnobody nfsnobody 0 Sep 13 15:40 a.txt

07.最后,将用户的数据移动到upload目录下

mv /tmp/nfsbak/2017/ /application/nginx/html/blog/wp-content/uploads/



最终:

web数据库停掉,开启db01数据库


oracle历史数据迁移

参考技术AOracle数据库的数据迁移方法有哪些呢Windows中oracle服务启动关闭脚本oracle控制文件的管理随着数据库管理系统和操作系统平台的更新换代的速度的加快,数据库管理员经常需要在两个不同的数据库之间或在两种不同的系... 查看详情

迁移到现有数据库而不匹配迁移

】迁移到现有数据库而不匹配迁移【英文标题】:Migratingtoexistingdatabasewithoutmatchingmigration【发布时间】:2017-05-0211:24:54【问题描述】:我正在使用Django1.9.8开发网站,并尝试将其更新版本部署到服务器以进行演示。由于我在开发... 查看详情

迁移如何应用于数据库? [关闭]

】迁移如何应用于数据库?[关闭]【英文标题】:HowMigrationsareappliedtothedatabase?[closed]【发布时间】:2021-02-2507:03:51【问题描述】:我想了解迁移在实体框架中是如何工作的,ef如何知道应该将哪个迁移应用于数据库?我看到在每... 查看详情

Grails 数据库迁移 - 更改以前的迁移

】Grails数据库迁移-更改以前的迁移【英文标题】:Grailsdatabasemigration-changingpreviousmigrations【发布时间】:2017-05-2616:01:33【问题描述】:不幸的是,我刚刚注意到我之前的一次迁移中的一个问题,我指定了baseTableSchemaName,现在无... 查看详情

数据库迁移

数据库迁移:就是更新数据库 应用更新了,数据库要更新,但是不能删除之前的数据库,就要用到迁移步骤:1:python xxx.pydb.init -----------生成迁移文件夹2:python xxx.py dbmigrate-m ‘注释"---------生成迁移文件(类似于备... 查看详情

尝试添加迁移时,SQL 中缺少迁移数据

...发布时间】:2019-07-3112:03:39【问题描述】:我使用了备份数据库并使用CodeFirst添加了一个新表。现在,当我尝试使用add-migration时,我收到了这个错误:无法生成显式迁移,因为以下原因显式迁移正在等待建议项目中的迁移与数... 查看详情

数据迁移的套路

...快速扩张,需要适当时机进行微服务的拆分,需要独立的数据库,将数据从源数据库迁移到新的数据库单表的记录数比较大,需要进行分库分表。需要将老表的数据迁移到新的分表中。存储选型不对,比如关系型数据库的相互迁... 查看详情

redis数据迁移

参考技术A前期准备在进行数据迁移之前,一定要做好迁移前的准备。检查平滑迁移-双写法方案总结针对互联网很多“数据量较大,并发量较大,业务复杂度较高”的业务场景,在的众多需求下,需要进行数据迁移,完成“平滑... 查看详情

Laravel - 如何使用工匠迁移将数据迁移到实时数据库中?

】Laravel-如何使用工匠迁移将数据迁移到实时数据库中?【英文标题】:Laravel-HowdoImigratedataintoalivedatabaseusingartisanmigration?【发布时间】:2019-10-1008:21:07【问题描述】:我已使用工匠迁移成功创建了一个数据库“翻译”表。当这个... 查看详情

迁移开发数据库和解析服务器后,是不是可以迁移生产数据库?

】迁移开发数据库和解析服务器后,是不是可以迁移生产数据库?【英文标题】:AftermigratingthedevelopmentDBandtheParseServer,isitpossibletomigratetheproductionDB?迁移开发数据库和解析服务器后,是否可以迁移生产数据库?【发布时间】:2016-... 查看详情

数据迁移-如何快速迁移

...,并发处理。这样可以提升速度。遍历数据完整遍历老的数据库。不同的数据库有不同的方法,比如对于mysql,可以利用现成的binlog,其中就有全量的数据。对于其他数据库,通常有两种方案单线程游标遍历单向遍历,这样不用进... 查看详情

如何完成redis数据迁移?

如何进行Redis数据迁移?如何完成Redis数据迁移?使用keys+move命令实现数据迁移使用keys+migrate命令实现数据迁移MIGRATE命令说明如何使用MIGRATE命令实现Redis数据迁移其他方案实现数据迁移(待续。。。)如何完... 查看详情

迁移房间数据库时有没有办法使用迁移期间计算的变量?

】迁移房间数据库时有没有办法使用迁移期间计算的变量?【英文标题】:IsthereawaywhenMigratingaRoomDatabasetouseVariablesthatarecalculatedduringtheMigration?【发布时间】:2021-06-1700:26:30【问题描述】:我正在用Java编写一个Android应用程序,并... 查看详情

laravel中如何做数据库迁移

总的来说,做一次独立数据库迁移只需要三步,分别是创建迁移文件、修改迁移文件、运行迁移1.创建数据库迁移文件phpartisanmake:migrationcreate_articles_table1然后在database/migrations目录下就会多出一个迁移文件,不过Laravel会在前面自... 查看详情

数据库迁移系列从oracle迁移到opengauss实战分享(代码片段)

...s的迁移方法,本篇介绍使用Ora2og工具从Oracle到openGauss数据库的迁移。文章目录简介迁移前准备环境软件安装ora2og工具安装创建迁移项目配置ora2pg.conf测试迁移导出导入Ora2Pg不足FAQ简介ora2pg可以将Oracle或者MySQL数据库迁移到Postg... 查看详情

在线数据迁移(转)

1.前期知识储备  在线数据迁移,是指将正在提供线上服务的数据,从一个地方迁移到另一个地方,整个迁移过程中要求不停机,服务不受影响。根据数据所处层次,可以分为cache迁移和存储迁移;根据数据迁移前后的变化,... 查看详情

oracle数据库数据迁移解决方案

大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理迁移,接下来把心得与大家分享一下   去年年底做了不少系统的数据迁移,大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理... 查看详情

django系列教程15:数据库迁移(代码片段)

...令添加测试数据1.迁移创建完模型类后,并没有真正的在数据库中创建了数据表,需要执行迁移命令,在数据表中创建数据表。1.生成迁移文件manage.py文件所在目录执行命令pythonmanage.pymakemigrations2.执行迁移命令manage.py文件所在目... 查看详情