我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql数据库迁移、多端口运行、innobackupex备份

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql数据库迁移、多端口运行、innobackupex备份

1、需求:由11服务器的mysql迁移至12服务器

 

对12服务器:

nc -l 12345|tar zxvf

对11服务器:

ldd /usr/local/mysql/bin/mysqld|xargs tar zcvf  so.tar.gz  //用ldd查看依赖库文件并且打包

scp so.tar.gz 192.168.1.12:/root//远程传送库文件

tar zcvf - mysql |nc 192.168.1.12 12345

对12服务器://上面我用到的是nc命令来传输,方法随意,能传就行

 iptables -F

 setenforce 0//注意关闭安全机制,才能保证文件传输

 tar xf so.tar.gz//将lib64放置,这里我就不详细写了

 mv mysql/ /usr/local///传输好了移动到usr目录

 cd /usr/local/mysql/support-files/

 cp my-medium.cnf /etc/my.cnf//复制中等配置文件

 cp mysql.server /etc/init.d/mysqld//复制启动文件

 ln -s  /usr/local/mysql/bin/* /usr/local/bin//复制mysql命令,当然用PAHT添加也行

 cd /usr/local/mysql/scripts/

 useradd -M -s /sbin/nologin mysql//创建mysql程序用户,才能数据初始化

./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql//数据初始化

 service mysqld start//启动mysqld服务

 ps aux|grep mysql

 mysql -uroot -p//登录,用户名密码和11服务器一样,数据也一样

 

 

 

 

2、需求:一台mysql服务器启动多个端口的mysql

 

[root@localhost ~]# service mysqld stop

[root@localhost ~]# for i in {3306..3308};do cp /etc/my.cnf /etc/my${i}.cnf;done

//复制配置文件,名字为/etc/my3307.cnf

[root@localhost ~]# mkdir -p  /www/mysqldata{3306..3308}

//制作数据目录

[root@localhost /]# for i in {3306..3308};do /usr/local/mysql/scripts/mysql_install_db --datadir=/www/mysqldata$i --user=mysql --basedir=/usr/local/mysql;done

//对制作的数据目录初始化

 

[root@localhost local]# vi /etc/my3307.cnf   //改两项:这里以3307为例

[mysqld]

port=3307//这项上面已经改了

socket=/tmp/mysql_3307.sock     //指定socket目录

datadir=/www/mysqldata3307/    //指定数据目录,如果不指定,则下面启动3307端口时候需要加--datadir=/www/mysqldata3307  --user=mysql

[client]

port        = 3307

socket      = /tmp/mysql_3307.sock

启动3307端口:(其他的类似)

mysqld_safe --defaults-extra-file=/etc/my3307.cnf &

进入mysql:

[root@localhost local]# mysql -uroot -S /tmp/mysql_3307.sock (其实不用-root也可以登录)

 

关闭对应的mysqld服务:(方法很多,也可以用kill -9)

[root@localhost local]# mysqladmin -uroot -S /tmp/mysql_3307.sock shutdown

 

 

3307的数据可以直接复制到3306:

[root@localhost test]# cp aa.frm ../../mysqldata3306/test/   

//目前在mysqldata3307/test  下




3、需求:用innobackupex工具对数据进行备份

 

开启的是多端口模式,针对3306端口,配置文件是/etc/my3306.cnf   数据文件是/www/mysqldata3306

[root@localhost ~]#yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL//安装依赖包

[root@localhost ~]#rpm -ivh percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm  --nodeps

[root@localhost tmp]# mkdir /home/mysqlbak/fullfile/aaa -p   //制作备份文件存放路径

[root@localhost tmp]# innobackupex --user=root --slave-info  --socket=/tmp/mysql3306.sock --defaults-file=/etc/my3306.cnf /home/mysqlbak/fullfile/aaa > /dev/null//开始备份

加--databases "mysql.user test"  可以指定库指定表备份

 

备份前先关闭数据库,并且删除数据文件和日志文件(重命名就可以)

mysqladmin -uroot -S /tmp/mysql33036.sock shutdown   //关闭数据库

[root@localhost www]# mv mysqldata3306 mysqldata3306.bak//删除原数据文件

[root@localhost www]# mkdir mysqldata3306//制作空目录数据文件

[root@localhost tmp]#  innobackupex --defaults-file=/etc/my3306.cnf --user=root --password=123 --apply-log --rsync --use-memory=4 /home/mysqlbak/fullfile/aaa/2017-03-06_13-08-44//应用日志,--use-memory=4选项可以加快恢复速度

[root@localhost tmp]# innobackupex --defaults-file=/etc/my3306.cnf  --user=root --password=123 --copy-back /home/mysqlbak/fullfile/aaa/2017-03-06_13-08-44 //拷贝到原数据文件下

[root@localhost www]# chown -R mysql:mysql mysqldata3306//给权限,让mysql能够读取

 

从什么可以看出,恢复分为两个步骤,第1步是apply-log,为了加快速度,一般建议设置--use-memory,这个步骤完成之后,目录/backup/mysql/data/2017-03-06_13-08-44下的备份文件已经准备就绪。

第2步是copy-back,即把备份文件拷贝至原数据目录下。

恢复完成之后,一定要记得检查数据目录的所有者和权限是否正确。

 

常用选项:

--parallel=4 --throttle=400                      并行个数,根据主机配置选择合适的,默认是1个,多个可以加快备份速度。

--stream=tar                                       压缩类型,这里选择tar格式,可以加,可不加。加上文件就小一点,在备份的时候就已经打包好了

 



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql数据库迁移、多端口运行、innobackupex备份

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据备份、还原、数据库迁移及表的导出和导入怎么实现

本篇内容介绍了“MySQL数据备份、还原、数据库迁移及表的导出和导入怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、数据备份备份数
2022-11-30

编程热搜

目录