MySQL数据库Innobackupex主从同步--提取汉字,去掉非汉子数据--创建函数/使用ASCII码来区分中文和其它字符,中文的AS CII码值的范围是45217~63486,根据这个来实现,我们就需要使用ORACLE中的函数ASCII,用它来返回ASCII值。 /createorreplacefunctionFUNC_CHINESE(custNamevarchar2)retur nvarchar2isResultvarchar2(100);tmp_custNamevarchar2(100);coun t_strnumber;inumber:=1;str_asciinumber;current_charvarchar2(1 0);beginselectlength(custName)intocount_strfromdual;whilei? current_char:=substr(custName,i,1);selectASCII(current_char)int ostr_asciifromdual;ifstr_ascii>45216thentmp_custName:=tmp_cu stName||current_char;endif;i:=i+1;endloop;主服务器必要配置必要运行参数–启用bi nlog及允许同步master]#vim/etc/my.cnf[mysqld]bind-address=0.0.0.0/ /监听的ip地址log_bin=master-bin//启用binlog日志server_id=10//指定服务器 ID号binlog_format=mixed//指定日志格式–授权备份用户master]#mysql-uroot -p''密码''mysql>GRANTREPLICATIONSLAVEON.TO''repluser''@''192.168 .1.%''IDENTIFIEDBY''pass'';mysql>SHOWMASTERSTATUS\G;MySQL备份工具 物理备份缺点–跨平台性差–备份时间长、冗余备份、浪费存储空间mysqldump备份缺点–效率较低,备份和还原速度慢–备份 过程中,数据插入和更新操作会被挂起XtraBackup工具一款强大的在线热备份工具–备份过程中不锁库表,适合生产环境–由专业 组织Percona提供(改进MySQL分支)主要含两个组件–xtrabackup:C程序,支持InnoDB/Xt raDB–innobackupex:以Perl脚本封装xtrabackup,还支持MyISAM安装XtraBack up主从数据库上都安装xtrabackup下载适配的RPM包并安装638棋牌http://www.dadiqipaigw.c n–percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm#yum-yinstallpe rl-Digest-MD5.x86_64rsyncperl-DBD-MySQL#rpm-ivhlibev-4.15-1.e l6.rf.x86_64.rpm#rpm-ivhpercona-xtrabackup-24-2.4.7-1.el7.x86_6 4.rpm#rpm-qlpercona-xtrabackup-24......命令innobackupex基本选项常用选项 含义--host主机名--user用户名--port端口号--password密码--databases数据库名- -no-timestamp不用日期命名备份文件存储的子目录名--databases="库名"//单个库--databas es="库1库2"//多个库--databases="库.表"//单个表--redo-only//日志合并- -apply-log//准备还原(回滚日志)--copy-back//恢复数据--incremental目录名//增 量备份--incremental--basedir=目录名//增量备份时,指定上一次备份数据存储的目录名--incrementa l-dir=目录名//准备恢复数据时,指定增量备份数据存储的目录名--export//导出表信息--import//导入表 空间--slave-info//导出的信息包含master-log、position偏移量配置从服务器调整运行参数–启用bi nlog及允许同步,启用只读模式slave]#vim/etc/my.cnf[mysqld]server_id=20// 指定服务器ID号log_bin=slave-bin//启用binlog日志sync-binlog=1//允许日志 同步read_only=1//只读模式,同步及SUPER权限用户例外使用innobackupex–将主数据库所有库完全 备份到/backupmaster]#innobackupex--userroot--password123456-- slave-info/backup--no-timestamp//完全备份–将主数据库备份文件夹/backup拷贝到从库/ backupmaster]#scp-r/backup从库ip:/root–通过应用BACKUP-DIR下的事务日志文件x trabackup_logfile,在BACKUP-DIR目录建立新的事务日志文件ib_logfile。slave]#innob ackupex--userroot--password123456--apply-log/backupslave]#r m-rf/var/lib/mysql///恢复时要求空的库目录slave]#innobackupex--userr oot--password123456--copy-back/backup//复制所有的备份到他们原来的位置slave] #chown-Rmysql:mysql/var/lib/mysql//更改属组、属主slave]#systemctl stopmysqldslave]#systemctlstartmysqldslave]#mysql-uroot-p1 23456mysql>showdatabases;从库发起同步操作–指定Master相关参数,日志名、偏移量(查看/bu ckup/xtrabackup_info)mysql>CHANGEMASTERTOMASTER_HOST=''192.168 .1.10'',->MASTER_USER=''repluser'',->MASTER_PASSWORD=''pass'',->MAS TER_LOG_FILE=''master-bin.000001'',//日志文件->MASTER_LOG_POS=520;/ /偏移位置....mysql>STARTSLAVE;//启动复制乐淘棋牌http://www.jiekeqipai. net–确认IO线程、SQL线程都已运行,查看是否同步主库数据mysql>SHOWSLAVESTATUS\G;Re sult:=tmp_custName;return(Result);endFUNC_CHINESE;--创建测试数据createtabletests(txtvarchar2(200));insertintotests(txt)values(''你a好,你1吃D饭S了s'');--测试函数selectFUNC_CHINESE(txt)fromtests |
|