阿里云服务器数据库迁移(阿里云服务器数据库迁移到新手机)
本文目录一览:
- 1、一台服务器连接另一台服务器的mysql,需要都装数据库吗
- 2、之如何把我的数据库一键迁移至RDS
- 3、从亚马逊(AWS)迁移到阿里云
- 4、买了阿里云云数据库RDS怎样使用MySQLdump工具把数据迁移进来
- 5、阿里云服务器怎样将本地数据库数据导入到服务器数据库
- 6、如何把阿里云ecs服务器内容完全迁移到另外一个ecs服务器
一台服务器连接另一台服务器的mysql,需要都装数据库吗
于项目升级或者服务器更换,需要将数据从一个数据库服务转移到另一个数据库服务中。两个数据库所在的服务器的公网IP分别为x.x.x.x和y.y.y.y。
进行MySQL数据迁移之前,需要做一些准备工作,即两台服务器上配置相同环境。需要在公网IP分别为x.x.x.x和y.y.y.y的服务器上都安装mysql-5.7.37。
准备工作
第一步,下载mysql-5.7.37。
第二步,配置mysql。
第三步,安装mysql-5.7.37。
第四步,远程连接另一台服务器上的mysql。
第五步,不进入mysql根目录即可进行相应的操作。
MySQL数据迁移常用方法
MySQL数据迁移一般可分为物理迁移和逻辑迁移。
物理迁移适用于海量数据整体迁移,可以直接复制数据文件或使用navicat来进行备份迁移。不同的服务器之间采用物理迁移需要将两台服务器中的MySQL server保持完全一样的版本、配置和权限。这种物理迁移优点是速度快,缺点是要求新服务器与原服务器配置完全一致,即便如此也有可能引起一些未知错误。
如果规模较小,业务也并不繁忙,推荐使用mysqldump即逻辑迁移法,它相对来说更轻巧、稳健一些。mysqldump的原理是在导入到新数据库时,先将原数据库表结构使用CREATE TABLE 'table'语句创建,然后在使用INSERT将原数据导入至新表中。可以理解为一个批量导入脚本。这样按照规范命令导入数据,大幅减少奇怪的未知错误出现。
第一种方案:物理迁移-使用navicat
第一步,下载并安装Navicat。
到网址下载需要的Navicat软件,之后在Windows系统中安装。安装成功后,然后进行数据库连接。
第二步,选择要导出的数据库ZJZK2022,格式为.sql。
具体操作:选中ZJZK2022,然后右键:转储SQL - 结构+数据 - 选择路径。得到需要的.sql文件。
第三步,将.sql文件导入新服务器数据库中。
如果根据已有的SQL文件执行数据导入,那么可以直接在打开一个数据库后,新建一个查询窗口,然后将sql文件中的内容粘贴到窗口中执行即可,这种方式同时适用于单表数据导入与数据库整体导入。
如果想要进行整个数据库的数据导入,也可以直接选中新服务器IP,右键:运行SQL。然后选择之前导出的数据库sql文件,最后点击“开始”。可以得到与之前服务器数据库中相同的数据。
第二种方案:逻辑迁移-使用mysqldump
登录远程服务器,在服务器中导出数据库
第一步,登录公网IP为x.x.x.x的阿里云ECS服务器。
第二步,将需要迁移的原数据库ZJZK2022中的数据导出,生成*.sql文件。
命令:service mysql start
/mnt/mysql/mysql-5.7.37/bin/mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql
然后输入登录密码“123456”。
执行mysqldump命令后,若没有报错,则shel不会有任何结果显示。
注释:ZJZK2022——本次准备迁移的数据库;
/tmp/ZJZK2022-data-export.sql——导出时生成的数据文件存放的位置与文件名;
--opt——此命令参数开启代表着同时激活了quick、add-drop-table、add-locks、extended-insert和lock-tables 参数;
quick——忽略缓存,直接将数据导出到*.sql文件中;
add-drop-table——在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防止数据表重名;
add-locks——在备份数据表前后添加表锁定与解锁 SQL 语句;
extended-insert——此参数表示可以多行插入,提高导入效率,开启与否导入效率相差数倍,推荐开启。
第三步,进入导出目录查看导出结果。
命令:cd /tmp
ls
若结果显示ZJZK2022-data-export.sql,则说明文件已经生成。
无服务器,独立MySQL数据库远程导出至本地计算机
如果在阿里云购买的不是一台服务器,而是一个独立MySQL数据库的话,那也可以将数据库导出至本地计算机。
命令:service mysql start
/mnt/mysql/mysql-5.7.37/bin/mysqldump -h y.y.y.y -u ZJZK2022-remote -p -P3306 --default-character-set=utf8 --set-gtid-purged=OFF --column-statistics=0 ZJZK2022 /Desktop/ZJZK2022-data-export.sql
注释:y.y.y.y——远程数据库ip地址;
ZJZK2022-remote——拥有远程访问权限的数据库账号;
-P 3306——数据库访问端口,可根据自己情况修改;
default-character-set=utf8——导出时指定字符集;
set-gtid-purged=OFF——全局事务 ID (GTID) 来强化数据库的主备一致性,故障恢复,以及容错能力。开启这个功能导入导出时,可能会出错,故关闭;
/Desktop/ZJZK2022-data-export.sql——本地计算机保存路径及保存文件名。
提示:mysqldump常见报错:mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"')
可在命令中添加column-statistics=0参数。因MySQL数据库早期版本information_schema数据库中没有名为COLUMN_STATISTICS的数据表,新版mysqldump默认启用,我们可以通过此命令禁用它。
执行命令后,若没有报错,则shel不会有任何结果显示,但已经可以在桌面上看到导出后生成的文件。
复制 *.sql 至新数据库/新服务器
使用WinSCP将导出的*.sql文件传送到内网IP为y1.y1.y1.y1的新服务器对应的路径中。
命令:scp /tmp/ZJZK2022-data-export.sql root@y1.y1.y1.y1:/tmp/
输入连接root@y1.y1.y1.y1的密码“654321”。
若结果显示“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED”,则说明出现错误。可以使用命令“ssh-keygen -R y1.y1.y1.y1”,然后重新尝试连接,输入yes,按下回车,成功连接。
若结果显示“ZJZK2022.sql 100% 7191 2.6MB/s 00:00”,则说明数据传送成功。
如果购买的是独立MySQL数据库的话,也可以直接在阿里云服务器中直接向新服务器MySQL数据库导入数据。
导入数据库
方法一:本地数据库*.sql文件导入
第一步,当数据传输到公网IP为y.y.y.y的服务器后,可以在此服务器上新建一个名为ZJZK2022_new数据库,然后使用mysql命令直接导入数据库。
要将*.sql导入到数据库中,首先以root或有足够权限的账号登录MySQL。
命令:service mysql start
cd /mnt/mysql/mysql-5.7.37/bin
./mysql -u root -p
然后输入登录密码“123456”,就可以进入MySQL shell状态。
接着创建一个名为ZJZK2022_new的新数据库。
命令:mysql CREATE DATABASE ZJZK2022_new;
若执行命令后返回内容显示“Query OK, 1 row affected (0.00 sec)”,则说明新数据库创建成功。
然后使用“CTRL+D”退出MySQL shell。
最后导入数据库文件/tmp/ZJZK2022-data-export.sql。
命令:/mnt/mysql/mysql-5.7.37/bin/mysql -u root -p ZJZK2022_new /tmp/ZJZK2022-data-export.sql
若运行成功,则命令行不会有任何提示。
若运行失败,则命令行会提示失败原因。
注释:root——可以登录数据库的用户名;
ZJZK2022_new——刚刚新建的空数据库,数据会导入到该数据库中;
/tmp/ZJZK2022-data-export.sql——之前导出的sql文件,把它再导入到新数据库中。
第二步,要检测是否导入成功,可以登录到MySQL查看并检查数据库中的数据。
命令:cd /mnt/mysql/mysql-5.7.37/bin
./mysql -u root -p
然后输入登录密码“123456”,就可以进入MySQL shell状态。
# 选择刚刚导入数据的新建数据库
mysql USE ZJZK2022_new;
# 查看数据库中包含的表
mysql SHOW TABLES;
# 打开表查看内容
mysql SELECT * FROM users;
若结果显示的内容与公网IP为x.x.x.x的服务器中的数据库的内容一致,则说明mysql数据迁移成功。
方法二:在阿里云服务器中,直接远程将数据导入至新服务器
如果购买的是独立数据库的话,那么就没办法先把*.sql存过去,再导入。所以我们可以直接在阿里云服务器上发起导入操作,直接导入至新服务器。
命令:/mnt/mysql/mysql-5.7.37/bin/mysql -h ZJZK2022_new -u root -p -P10010 ZJZK2022_new /tmp/ZJZK2022-data-export.sql
注释:ZJZK2022_new——新服务器MySQL数据库地址;
-P——数据库端口。
数据导入至新服务器MySQL,命令执行成功后,并不会有任何提示。登录新服务器数据库可以看到迁移结果。
远程登录新服务器MySQL,查看导入情况。
公网IP分别为x.x.x.x和y.y.y.y的服务器都已经安装好了mysql数据库。
忘记MySQL的登录密码,通过重置密码解决
命令:cd /mnt/mysql/mysql-5.7.37/bin
./mysql -u root -p123456
若结果显示“ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)”,则说明mysql的root用户密码错误,需要重置密码,然后用新密码重新登录数据库。具体做法如下:
1)停止mysql数据库。
命令:service mysql stop
2)新建文件夹/usr/local/mysql/data。
命令:mkdir -p /usr/local/mysql/data
3)启动mysql,并以不检查权限的情况下启动。
命令:mysqld --skip-grant-tables
mysqld --user=root --skip-grant-tables
4)登录mysql,修改密码,刷新权限。
命令:mysql -uroot
mysql UPDATE mysql.user SET Password=PASSWORD('123456') where USER='root';
mysql flush privileges;
mysql exit
5)重启之后输入“mysql -uroot -p123456”即可进入mysql。
不进入mysql根目录即可进行相应的操作
第一步,在两台服务器上都配置环境变量。
在文件/etc/profile中添加下面的代码:
export PATH=$PATH:/mnt/mysql/mysql-5.7.37/bin
# 使profile文件生效
命令:source /etc/profile
# 导出数据
mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql
# 导入数据
mysql -uroot -p123456
mysql -u root -p ZJZK2022_new /tmp/ZJZK2022-data-export.sql
mysql -h ZJZK2022_new -u root -p -P10010 ZJZK2022_new /tmp/ZJZK2022-data-export.sql
第二步,在公网IP为y.y.y.y的服务器中将需要迁移的原数据库ZJZK2022中数据导出,生成*.sql文件,生成的文件仍在本服务器中。
1)可以在文件夹/mnt/mysql中创建一个名为mysql_export的脚本。
脚本代码如下:
# 执行MySQL命令 #!/bin/bash export MYSQL_PWD='123456' /mnt/mysql/mysql-5.7.37/bin/mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql
2)把启动脚本放到开机初始化目录
命令:cp /mnt/mysql/mysql_export /etc/init.d/mysql_export
#赋予可执行权限
命令:chmod +x /etc/init.d/mysql_export
#添加服务
命令:chkconfig --add mysql_export
#启动mysql_sign服务
命令:service mysql_export start
展开阅读全文
之如何把我的数据库一键迁移至RDS
该方法是通过阿里云控制台的在线迁移MySQL的方法,可以不停服务就能够完成数据库的迁移工作,支持MySQL 5.1、5.5(5.0版本只支持全量迁移)的迁移。
一、在控制台中选择”数据库管理--将自建数据库迁移至RDS”:
二、在数据迁移页面进行迁移,如果是将ECS上的自建数据库迁入请选择“ECS上的自建数据库”进行数据迁移。填写“ECS内网IP”,“数据库连接端口”、“数据库账号” 、“数据库密码”,选择迁移方式后确认迁移
从亚马逊(AWS)迁移到阿里云
众所周知,亚马逊电商已经撤出了中国,具体原因我想大家都心知肚明,但是作为云计算市场的老大,亚马逊在中国依旧运营着它的公有云服务。
由于政策原因,亚马逊不能在中国大陆运营云计算服务,其在中国有三个数据中心分别为北京、宁夏和香港,而这三个数据中心分别由三家公司负责运营,分别是光环新网、西云数据和亚马逊自营,对于要多区域部署的企业来说也是稍微有些分裂。
AWS中国不接受个人用户注册,也就是说你必须是企业才能在亚马逊上运行业务,而且亚马逊不支持预付费,只有按量付费和RI预留实例券,多少与很多中国企业的财务制度有些冲突。另外看AWS中国官网的成功案例大多是欧美企业,中国客户不多,而且很多用AWS中国的也大多是跨国企业在中国的分支或者主营业务在海外的中国公司。
虽然AWS是全球第一,且遥遥领先于老二和老三,但是在中国乃至亚太地区,AWS还是有点水土不服,落后于阿里云。不可否认,阿里一开始就是学的亚马逊,不管是电商还是云计算。从服务模式到产品命名都有浓郁的亚马逊味道。当然今时不同往日,阿里云已经走出了自己的一片天,虽然还是落后很多,但技术创新和增长率却是持续领先。
我们回归主题,如果我们的业务部署在AWS上,现在感觉不爽了怎么办?可以迁移吗?往哪迁?答案是肯定的,哪个厂商也不能绑定我们,我们可以用脚投票,哪里不爽就搬家。当然迁云是要讲策略、有技术、用工具的。云上搬家最主要是应用、数据和存储,下面我们分别讲怎么做。
应用 :最简单粗暴的做法就是将运行应用的服务器连锅端,各家云厂商都提供服务器的搬家服务,以阿里云的服务器迁移中心(SMC)为例,它可以
具体流程如下:
数据库 :数据库迁移要求不停机且能保证数据一致性。阿里云的数据库迁移服务(DTS)可以满足这个需求。
数据库迁移服务(DTS)支持多种数据之间的迁移
文件存储: 亚马逊的S3无疑是众多用户存储海量文件的首选,那么我们就看看如何从S3迁移到阿里云的对标产品OSS。
首先,在AWS侧,先预估需要迁移的文件存储量和个数
然后创建用于迁移的访问密钥。你可以在 AWS 控制台的 IAM 页面创建用户并授予AmazonS3ReadOnlyAccess权限,然后创建访问密钥。
然后,在阿里云侧,登陆OSS的数据在线迁移控制台,按照提示赋予角色权限。
创建源地址,登录阿里云数据在线迁移控制台,选择 在线迁移服务 数据地址 ,然后单击 创建数据地址 ,具体参数如下
创建目标地址,选择 在线迁移服务 数据地址 ,然后单击 创建数据地址 。配置相关参数如下:
创建迁移任务,选择 在线迁移服务 迁移任务 ,然后单击 创建迁移任务 。配置参数如下:
在 性能调优 页签的 数据预估 区域,填写 迁移存储量 和 迁移文件个数
在 性能调优 页签的 流量控制 区域,设置 限流时间段 和 最大流量 ,然后单击 添加 。
单击 创建 。等待迁移任务完成。
不知道看过上面的介绍,你是否有尝试一下的想法或者有其他的方法,欢迎大家一起来讨论。
买了阿里云云数据库RDS怎样使用MySQLdump工具把数据迁移进来
你好: 用户在购买完RDS后,接下来就可以开始往RDS迁入数据了。在RDS刚刚对外提供服务的时候,用户只能通过将自己的数据库dump成为sql文件,然后再将sql文件source到RDS中去:数据迁移至RDS-MySQL之使用MySQLdump工具,数据迁移至RDS-SQLserver之利用SQL Server客户端工具,这两种方法是最简单的方法,但是局限性也非常的多: .用户的数据库太大了,逻辑sql导入的方式速度太慢了,严重影响停机时间; .在导入的过程中报错很多,或者导入一半的过程中中断了,需要重新来过; .在迁入RDS过程中,希望我的数据库还能能正常提供服务;大量的用户入云全部堵在迁移数据上面,用户与RDS的缘分就差么这临门一脚。工欲善必先利其器,为了更好的帮助用户入云,RDS对现有的用户入云迁移方式进行改进,帮助用户快速稳定迁移入云,分别为用户提供了mysql和sqlserver两套改良迁移工具: .mysql迁移工具支持在线迁移,用户可以不中断业务的情况下把数据迁移到RDS中来; .sqlserver的迁移工具采用物理备份的方法,将用户的物理备份上传到FTP中后还原到RDS,提升迁移的速度; 这两套工具目前都已经集成到了RDS的控制台中,可以参考:数据迁移至RDS-MySQL之使用阿里云控制台和 数据迁移至RDS-SQLserveru阿里云控制台.很多用户在控制台上看到的只是一个黑盒子,在工单中多次咨询迁移的原理,在这里大致讲一下这两个工具的迁移实现: Mysql在线迁移的原理:第一步:预检查,主要是验证用户网络的通畅性,账号和环境的检查; 第二步:全量备份,该步骤会把用户的数据全量的dump出一份出来,然后还原到RDS; 第三步:增量迁移,该步骤会解析用户全量期间以及后续产生的binlog应用到RDS; 第四步:切换,当RDS的数据完全追上用户的数据库后,用户就可以开始进行切换了;Mysql的在线迁移工具目前还有一些限制,比如: mysql 5.0只支持全量迁移,不支持增量迁移; 不支持mysql5.6的迁移;不支持存储过程,触发器的迁移; 迁移过程中如果有ddl发生则会导致增量迁移失败; SQLSERVER工具迁移的原理:第一步:备份用户对本地数据库进行物理备份; 第二步:备份上传至RDS提供的ftp服务器上(ftp地址支持私网和公网上传); 第三步:RDS扫描校验用户上传备份文件通过后,恢复至用户RDS; 第四步:用户切换应用至RDS; 由于sqlserver目前还没有开放日志接口,所以RDS目前还不能支持在线迁移;RDS目前不支持master库的导入。 希望这篇文章对你使用RDS有帮助。
阿里云服务器怎样将本地数据库数据导入到服务器数据库
方法/步骤
首先,登录你的阿里云网站控制管理后台。
然后,点击右上角【产品管理】或者你的用户名,进入管理控制台。
在左侧【产品与服务】里面,点击你的服务器,这里以我购买的云虚拟主机作为例子。
选择你需要备份的服务器(可能有些人有好几个服务器),点击右侧的图示的【管理】。
然后,选择第一排【工具服务】,见图示。
6
最后,点击【备份站点】,输入备份备注信息,点击确定即可。
如何把阿里云ecs服务器内容完全迁移到另外一个ecs服务器
创建磁盘快照-----创建自定义镜像----另一台主机------更换系统盘-----使用自定义镜像。
如果是数据量很少的话,直接用(linux可以内网或者公网scp,windows的话可以用各种文件传输工具或者是远程桌面挂载磁盘的方式拷贝)各种文件传输方式拷贝就可以。
发表评论
暂时没有评论,来抢沙发吧~