<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[歌声与微笑]]></title> 
<link>http://www.gsywx.com/index.php</link> 
<description><![CDATA[歌声与微笑]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[歌声与微笑]]></copyright>
<item>
<link>http://www.gsywx.com/read.php/.htm</link>
<title><![CDATA[把阿里云RDS mysql数据库恢复到本地的过程]]></title> 
<author>admin &lt;admin@gsywx.com&gt;</author>
<category><![CDATA[电脑类]]></category>
<pubDate>Sun, 19 Feb 2023 11:48:00 +0000</pubDate> 
<guid>http://www.gsywx.com/read.php/.htm</guid> 
<description>
<![CDATA[ 
	要把阿里云rds mysql数据库搬回ECS服务器，搜索官方帮助，可选两种方法<br/>一是逻辑备份数据库，下载到本地后用mysql命令导入或使用source命令导入。<br/>二是物理备份数据库，下载后解压恢复到本地服务器（但此方法只能恢复到linux服务器，不支持win系统）。<br/>官方的教程不详细，故记录下此次操作。<br/><br/>选择物理备份的数据库进行恢复，过程如下：<br/>1、从阿里云下载rds到外网是按流量收费的，故使用内网地址下载到ECS服务器较好。因客户的机子是win系统，所以先在rds上点击下载，复制内网地址，然后在win机子上打开浏览器进行下载，下载完成后，得到了hins24216484_data_20230216044728_qp.xb的备份文件。因此ECS机子性能一般，所以再次从ECS上下载文件到本地。<br/>2、在本地安装VMWARE，再安装centos8，完成后安装了BT（在此选择相同版本的mysql5.6进行安装，否则要使用mysql源码编译安装）。<br/>3、对于MySQL 5.7、5.6或5.5实例：下载及安装Percona XtraBackup 2.4。<br/>yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm<br/>yum -y&nbsp;&nbsp;install percona-xtrabackup-24&nbsp;&nbsp;<br/>安装qpress解压缩软件<br/>yum -y&nbsp;&nbsp;install qpress<br/>安装完成后测试下<br/>innobackupex -version<br/>能正常返还即为成功<br/>4、创建存放mysql的目录<br/>mkdir -p /home/mysql/data<br/>5、上传_data_20230216044728_qp.xb至/home目录并更名为h_qp.xb<br/>6、解包<br/>cat h_qp.xb &#124; xbstream -x -v -C /home/mysql/data<br/>7、解压<br/>innobackupex --decompress --remove-original /home/mysql/data<br/>8、执行备份还原命令<br/>innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data<br/>9、编辑backup-my.cnf<br/>vi /home/mysql/data/backup-my.cnf<br/>在[mysqld]段内增加：lower_case_table_names=1 并屏蔽其他行。再增加：skip-grant-tables<br/>10、修改目录所属<br/>chown -R mysql:mysql /home/mysql/data<br/>11、停止原已启动的bt的mysql<br/>service mysqld stop<br/>12、启动mysql<br/>/www/server/mysql/bin/mysqld --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data/ & 回车<br/>13、登录mysql<br/>/www/server/mysql/bin/mysql -uroot -p<br/>无密码回车后登录，此时可以查看下数据库。<br/>show databases;<br/>14、修改密码<br/>use mysql;<br/>update user set password=PASSWORD("123654") where user='root';<br/>FLUSH PRIVILEGES;<br/>quit; <br/>退出后杀掉启动的mysql（killall -9 mysqld），删掉/home/mysql/data/backup-my.cnf的skip-grant-tables，然后重新启动下。<br/>/www/server/mysql/bin/mysql -uroot -p<br/>这时会发现需要输入密码123654后登录。<br/>15、导出数据库<br/>a、停止数据库进程后拷贝出整个/home/mysql/data目录，放到win主机上的相应目录里（需先在win主机上安装好mysql5.6）<br/>b、也可以用mysqldump方式导出数据库，再到win主机上导入数据库（此方式适用于主机上原本就运行了其他innodb类型的mysql程序，无法直接使用，只能新增进去）。<br/>导出<br/>/www/server/mysql/bin/mysqldump -u root -p -c --default-character-set=utf8 h > h.sql<br/>在win主机上导入<br/>mysql -uroot -p --default-character-set=utf8 h < d:&#92;h.sql<br/><br/>此前，我是先尝试过使用逻辑备份数据库下载到本地来恢复，通过命令<br/>mysql -f -uroot -p h.sql > test<br/>或登录mysql后使用 source h.sql 来恢复，但在恢复一会儿后就显示连接不上数据库了，尝试调大连接超时参数等无效，遂放弃。然后再尝试物理备份数据库方式到本地恢复。本次要搬的数据库在36G，备份下来的sql文件也有12G多。想要打开修改都难。<br/><br/>参考官方教程<br/>https://help.aliyun.com/document_detail/41817.html#section-ooe-3fz-r97<br/><br/>最后：mysql到本地使用最好还是改回MYISAM数据引擎方式，Innodb方式管理不是很方便，所以，在本地恢复数据库成功后，使用phpmyadmin 来运行转换语句，如：ALTER TABLE &nbsp;&nbsp;pre_common_admincp_cmenu&nbsp;&nbsp;ENGINE = MYISAM; 数据表的列表可以使用ll列出来取出，等全部转换完成，就可以把单独把数据库目录上传到数据库目录 data下使用了。<br/><br/><br/><br/>Tags - <a href="http://www.gsywx.com/go.php/tags/rds/" rel="tag">rds</a> , <a href="http://www.gsywx.com/go.php/tags/mysql/" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://www.gsywx.com/read.php/.htm#blogcomment</link>
<title><![CDATA[[评论] 把阿里云RDS mysql数据库恢复到本地的过程]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.gsywx.com/read.php/.htm#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>