MHA 0.57 连不上数据库

MySQLA390_Fander 回复了问题 • 3 人关注 • 3 个回复 • 345 次浏览 • 2017-10-14 10:51 • 来自相关话题

Percona XtraDB Cluster 5.7.18 发生数据不一致,导致节点自动关闭

MySQLthe2ndhitler 回复了问题 • 2 人关注 • 2 个回复 • 64 次浏览 • 2017-10-12 16:18 • 来自相关话题

python脚本统计 MySQL 库中表的个数

pythonA128_huanggr 发表了文章 • 0 个评论 • 76 次浏览 • 2017-09-27 17:20 • 来自相关话题

#!/usr/bin/python

import os,sys,pymysql

mysqlbase = '/usr/local/mysql/bin/'

if  len(sys.argv)  == 1:
    print('format: python + Script_name + user + password + ip')
elif sys.argv[1] == '-h':
    print('format: python + Script_name + user + password + ip')
else:
    user = sys.argv[1]
    passw = sys.argv[2]
    ip = sys.argv[3]
    dbnam=os.popen(mysqlbase+'mysql -h'+ip+' -u'+user+' -p'+passw+'   -h'+ip+' -e "show databases"|grep -vE "mysql|Database|information_schema|performance_schema|sys"').read()
#    dbnam=os.popen(mysqlbase+'mysql -h'+ip+' -u'+user+' -p'+passw+'  -S /tmp/mysql3306.sock -h'+ip+' -e "show databases"|grep -vE "mysql|Database|information_schema|performance_schema|sys"').read()
    DBNAME = dbnam.replace('\n',',').rstrip(',').split(',')
    for dbname in DBNAME:
        lists =
        db=pymysql.connect(ip,user,passw,dbname)
        cursor=db.cursor()
        cursor.execute("show tables")
        data=cursor.fetchall()
        for tabname in data:
            lists.append(tabname)
        print(dbname,(len(data)))
        db.close()
 
# python connmysql.py root 123456 192.168.6.218
('cr_debug', 6)
('hh', 3)
('lts', 15)
('toprankdb', 496)
('tr', 1)
('zabbix', 127)
#每天学习一点点,日积月累。 查看全部
#!/usr/bin/python

import os,sys,pymysql

mysqlbase = '/usr/local/mysql/bin/'

if  len(sys.argv)  == 1:
    print('format: python + Script_name + user + password + ip')
elif sys.argv[1] == '-h':
    print('format: python + Script_name + user + password + ip')
else:
    user = sys.argv[1]
    passw = sys.argv[2]
    ip = sys.argv[3]
    dbnam=os.popen(mysqlbase+'mysql -h'+ip+' -u'+user+' -p'+passw+'   -h'+ip+' -e "show databases"|grep -vE "mysql|Database|information_schema|performance_schema|sys"').read()
#    dbnam=os.popen(mysqlbase+'mysql -h'+ip+' -u'+user+' -p'+passw+'  -S /tmp/mysql3306.sock -h'+ip+' -e "show databases"|grep -vE "mysql|Database|information_schema|performance_schema|sys"').read()
    DBNAME = dbnam.replace('\n',',').rstrip(',').split(',')
    for dbname in DBNAME:
        lists =
        db=pymysql.connect(ip,user,passw,dbname)
        cursor=db.cursor()
        cursor.execute("show tables")
        data=cursor.fetchall()
        for tabname in data:
            lists.append(tabname)
        print(dbname,(len(data)))
        db.close()
 
# python connmysql.py root 123456 192.168.6.218
('cr_debug', 6)
('hh', 3)
('lts', 15)
('toprankdb', 496)
('tr', 1)
('zabbix', 127)
#每天学习一点点,日积月累。

在传统复制环境下,如何利用从库的完整xtraback备份与主库的binlog进行恢复?

MySQLyaowenlong 回复了问题 • 2 人关注 • 1 个回复 • 153 次浏览 • 2017-08-24 17:33 • 来自相关话题

mysql 初始化实例报错 Table 'mysql.plugin' doesn't exist

MySQLweixp 发表了文章 • 0 个评论 • 102 次浏览 • 2017-08-17 17:18 • 来自相关话题

初始化的时候抱着错,可以好好看看初始化的命令,可能是初始化命令写错了。
我就是这样的。
/usr/local/mysql/bin/mysqld --defaults-file=my.cnf --initialize--insecure 仔细看看
--initialize--insecure 这个地方多写了一个杠 查看全部
初始化的时候抱着错,可以好好看看初始化的命令,可能是初始化命令写错了。
我就是这样的。
/usr/local/mysql/bin/mysqld --defaults-file=my.cnf --initialize--insecure 仔细看看
--initialize--insecure 这个地方多写了一个杠

MHA 故障库恢复到集群 python脚本

pythonA128_huanggr 发表了文章 • 0 个评论 • 188 次浏览 • 2017-08-04 17:47 • 来自相关话题

#!/usr/bin/env python
#! _*_ coding:utf-8 _*_

import os,re,time

#注 请把故障库启动后再执行此脚本
#1.获取mha日志中change语句
stmt = os.popen("ssh exsddb3 'cat /var/log/masterha/app1/app1.log'|grep 'All other slaves'|grep \"`date +%d|cut -d'0' -f2` \"|cut -d':' -f4|awk '{sub(/^[ \t]+/, \"\")};1'").read().strip('\n')

ddd = 'CHANGE MASTER TO MASTER_HOST='
ip = re.findall(r'\d+.\d+.\d+.\d+',stmt)[0]
userf = 'replication'
passwf = 'replication'
logfile = re.findall(r"MASTER_LOG_FILE='(.*)', MASTER_LOG",stmt)[0]
logpos = re.findall(r"MASTER_LOG_POS=(.*), MASTER_USER=",stmt)[0]
user = 'root'
passw = 'abc123'
mysqlbase = '/usr/local/mysql/bin/'

#2.转换成标准change语句
change = "%s'%s',MASTER_PASSWORD='%s',MASTER_PORT=%s,MASTER_LOG_FILE='%s',MASTER_LOG_POS=%s,MASTER_USER='%s'" %(ddd,ip,passwf,'3306',logfile,logpos,userf)
status = os.popen("%smysql -u'%s' -p'%s' -e 'show slave status\G'" %(mysqlbase,user,passw)).read()
print(' ')

#3.在故意库中change到新主库,并启动slave,查看salve状态
os.system("%smysql -u'%s' -p'%s' -e '%s'" %(mysqlbase,user,passw,change))
os.system("%smysql -u'%s' -p'%s' -e 'start slave'" %(mysqlbase,user,passw))
os.system("%smysql -u'%s' -p'%s' -e 'show slave status\G'" %(mysqlbase,user,passw))

#4.在manager节点上检查MHA复制状态
os.system("ssh exsddb3 '/usr/bin/masterha_check_repl --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf' >/tmp/check_repl")

print(' ')
print(' ')
ifok = os.popen("cat /tmp/check_repl |grep 'MySQL Replication Health is OK.'").read().strip('\n')
#5.判断MHA集群是否OK,若OK就启动manager进程对MHA进行监控,然后查看MHA集群状态
if ifok == 'MySQL Replication Health is OK.':
    print(' ')
    os.system("ssh exsddb3 'sh /sh/mha_start.sh'")
    time.sleep(2)
    os.system("ssh exsddb3 '/usr/bin/masterha_check_status --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf'")
else:
    print(' ')
    print('MySQL Replication Health is not OK!')

 

#@_@ 欢迎交流!联系人 广西宾阳 阿桂 qq149951292 查看全部
#!/usr/bin/env python
#! _*_ coding:utf-8 _*_

import os,re,time

#注 请把故障库启动后再执行此脚本
#1.获取mha日志中change语句
stmt = os.popen("ssh exsddb3 'cat /var/log/masterha/app1/app1.log'|grep 'All other slaves'|grep \"`date +%d|cut -d'0' -f2` \"|cut -d':' -f4|awk '{sub(/^[ \t]+/, \"\")};1'").read().strip('\n')

ddd = 'CHANGE MASTER TO MASTER_HOST='
ip = re.findall(r'\d+.\d+.\d+.\d+',stmt)[0]
userf = 'replication'
passwf = 'replication'
logfile = re.findall(r"MASTER_LOG_FILE='(.*)', MASTER_LOG",stmt)[0]
logpos = re.findall(r"MASTER_LOG_POS=(.*), MASTER_USER=",stmt)[0]
user = 'root'
passw = 'abc123'
mysqlbase = '/usr/local/mysql/bin/'

#2.转换成标准change语句
change = "%s'%s',MASTER_PASSWORD='%s',MASTER_PORT=%s,MASTER_LOG_FILE='%s',MASTER_LOG_POS=%s,MASTER_USER='%s'" %(ddd,ip,passwf,'3306',logfile,logpos,userf)
status = os.popen("%smysql -u'%s' -p'%s' -e 'show slave status\G'" %(mysqlbase,user,passw)).read()
print(' ')

#3.在故意库中change到新主库,并启动slave,查看salve状态
os.system("%smysql -u'%s' -p'%s' -e '%s'" %(mysqlbase,user,passw,change))
os.system("%smysql -u'%s' -p'%s' -e 'start slave'" %(mysqlbase,user,passw))
os.system("%smysql -u'%s' -p'%s' -e 'show slave status\G'" %(mysqlbase,user,passw))

#4.在manager节点上检查MHA复制状态
os.system("ssh exsddb3 '/usr/bin/masterha_check_repl --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf' >/tmp/check_repl")

print(' ')
print(' ')
ifok = os.popen("cat /tmp/check_repl |grep 'MySQL Replication Health is OK.'").read().strip('\n')
#5.判断MHA集群是否OK,若OK就启动manager进程对MHA进行监控,然后查看MHA集群状态
if ifok == 'MySQL Replication Health is OK.':
    print(' ')
    os.system("ssh exsddb3 'sh /sh/mha_start.sh'")
    time.sleep(2)
    os.system("ssh exsddb3 '/usr/bin/masterha_check_status --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf'")
else:
    print(' ')
    print('MySQL Replication Health is not OK!')

 

#@_@ 欢迎交流!联系人 广西宾阳 阿桂 qq149951292

MySQL多实例管理 for python脚本

pythonA128_huanggr 发表了文章 • 0 个评论 • 186 次浏览 • 2017-07-27 15:38 • 来自相关话题

#!/usr/bin/env python
#! _*_ coding:utf-8 _*_

#注:多实例DB数据,my.conf,sock文件目录要统一
#每个实例要建有shutdown权限mt_user用户

import os,sys
import socket

myd = '/usr/local/mysql/bin/mysqld'
myadmin = '/usr/local/mysql/bin/mysqladmin'
m_user = 'mt_user'
m_password = 'password'

def IsOpen(ip,port):
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    try:
        s.connect((ip,int(port)))
        s.shutdown(2)
        return True
    except:
        return False

result = IsOpen('127.0.0.1',sys.argv[2])

if sys.argv[1] == 'start':
    if result:
        print('Sorry that the port is occupied!')
    else:
        os.system(myd+ ' --defaults-file=/data/mysql/mysql'+sys.argv[2]+'/my.cnf&')
elif sys.argv[1] == 'restart':
    os.system('%s -u%s -p%s -S /tmp/mysql%s.sock shutdown' %(myadmin,m_user,m_password,sys.argv[2]))
    os.system('sleep 2')
    os.system(myd+ ' --defaults-file=/data/mysql/mysql'+sys.argv[2]+'/my.cnf&')
elif sys.argv[1] == 'stop':
    os.system('%s -u%s -p%s -S /tmp/mysql%s.sock shutdown' %(myadmin,m_user,m_password,sys.argv[2]))
else:
    print('Please enter ===python %s start+port or restart+port or stop+port===' %sys.argv[0])
 
 
#python mysql.py start 3306
#python mysql.py start 3307
 
#python mysql.py restart 3306
#python mysql.py restart 3307

#python mysql.py stop 3306
#python mysql.py stop 3307 查看全部
#!/usr/bin/env python
#! _*_ coding:utf-8 _*_

#注:多实例DB数据,my.conf,sock文件目录要统一
#每个实例要建有shutdown权限mt_user用户

import os,sys
import socket

myd = '/usr/local/mysql/bin/mysqld'
myadmin = '/usr/local/mysql/bin/mysqladmin'
m_user = 'mt_user'
m_password = 'password'

def IsOpen(ip,port):
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    try:
        s.connect((ip,int(port)))
        s.shutdown(2)
        return True
    except:
        return False

result = IsOpen('127.0.0.1',sys.argv[2])

if sys.argv[1] == 'start':
    if result:
        print('Sorry that the port is occupied!')
    else:
        os.system(myd+ ' --defaults-file=/data/mysql/mysql'+sys.argv[2]+'/my.cnf&')
elif sys.argv[1] == 'restart':
    os.system('%s -u%s -p%s -S /tmp/mysql%s.sock shutdown' %(myadmin,m_user,m_password,sys.argv[2]))
    os.system('sleep 2')
    os.system(myd+ ' --defaults-file=/data/mysql/mysql'+sys.argv[2]+'/my.cnf&')
elif sys.argv[1] == 'stop':
    os.system('%s -u%s -p%s -S /tmp/mysql%s.sock shutdown' %(myadmin,m_user,m_password,sys.argv[2]))
else:
    print('Please enter ===python %s start+port or restart+port or stop+port===' %sys.argv[0])
 
 
#python mysql.py start 3306
#python mysql.py start 3307
 
#python mysql.py restart 3306
#python mysql.py restart 3307

#python mysql.py stop 3306
#python mysql.py stop 3307

MySQL 整库单表备份 for python脚本

pythonA128_huanggr 发表了文章 • 0 个评论 • 214 次浏览 • 2017-07-26 14:43 • 来自相关话题

#!/usr/bin/python
#! _*_ coding:utf-8 _*_

from datetime import date, datetime, timedelta
import os,time

user = 'root'
passw = '123456'
ip = '192.168.1.229'
dir = '/data2/backup/3308/'
mysqlbase = '/usr/local/mysql/bin/'
port='3308'

if  os.path.isdir(dir):
    print("dir ok")
else:    
    os.makedirs(dir)
dbnam=os.popen(mysqlbase+'mysql  -u'+user+' -p'+passw+' -h'+ip+' -P'+port+' -e "show databases"|grep -vE "mysql|Database|information_schema|performance_schema|sys"').read()
DBNAME = dbnam.replace('\n',',').rstrip(',').split(',')
os.chdir(dir)
for dbname in DBNAME:
    ad = os.popen(mysqlbase+'mysql -h'+ip+' -u'+user+' -p'+passw+' -P'+port+' -e "use ' + dbname + ';show tables "|grep -v Tables_in').read()
    ad1=ad.replace('\n',',').rstrip(',').split(',')
    for tabname in ad1:
        os.system(mysqlbase+'mysqldump   -h'+ip+' -u'+user+' -p'+passw+' -P'+port+'  --set-gtid-purged=off  --single-transaction  -R  '+dbname+' ' + tabname+' > '+dir+ '/'+dbname + '.'+ tabname +'.sql')
    dat = time.strftime('%Y%m%d_%H%M',time.localtime(time.time()))
    os.system('cd '+dir+';tar zcvf '+dat+dbname+'.tar.gz *sql; rm -f *.sql')
    os.system('find /data2/backup/3306/* -mtime +3 -name "2017*.tar.gz" -exec rm -fr {} \;')

 
 
设置计划任务每小时备份一次方便恢复单表:
0 */1 * * *    /root/python/mysqldump_table.py >/dev/null 2>&1
 
欢迎各位同学一起交流。
  查看全部
#!/usr/bin/python
#! _*_ coding:utf-8 _*_

from datetime import date, datetime, timedelta
import os,time

user = 'root'
passw = '123456'
ip = '192.168.1.229'
dir = '/data2/backup/3308/'
mysqlbase = '/usr/local/mysql/bin/'
port='3308'

if  os.path.isdir(dir):
    print("dir ok")
else:    
    os.makedirs(dir)
dbnam=os.popen(mysqlbase+'mysql  -u'+user+' -p'+passw+' -h'+ip+' -P'+port+' -e "show databases"|grep -vE "mysql|Database|information_schema|performance_schema|sys"').read()
DBNAME = dbnam.replace('\n',',').rstrip(',').split(',')
os.chdir(dir)
for dbname in DBNAME:
    ad = os.popen(mysqlbase+'mysql -h'+ip+' -u'+user+' -p'+passw+' -P'+port+' -e "use ' + dbname + ';show tables "|grep -v Tables_in').read()
    ad1=ad.replace('\n',',').rstrip(',').split(',')
    for tabname in ad1:
        os.system(mysqlbase+'mysqldump   -h'+ip+' -u'+user+' -p'+passw+' -P'+port+'  --set-gtid-purged=off  --single-transaction  -R  '+dbname+' ' + tabname+' > '+dir+ '/'+dbname + '.'+ tabname +'.sql')
    dat = time.strftime('%Y%m%d_%H%M',time.localtime(time.time()))
    os.system('cd '+dir+';tar zcvf '+dat+dbname+'.tar.gz *sql; rm -f *.sql')
    os.system('find /data2/backup/3306/* -mtime +3 -name "2017*.tar.gz" -exec rm -fr {} \;')

 
 
设置计划任务每小时备份一次方便恢复单表:
0 */1 * * *    /root/python/mysqldump_table.py >/dev/null 2>&1
 
欢迎各位同学一起交流。
 

开发人员改主键自增列起始值多了个0 !!!

MySQLA128_huanggr 发表了文章 • 0 个评论 • 263 次浏览 • 2017-07-24 13:00 • 来自相关话题

2017-07-23 晚21:21接到开发打来的电话说mysql自增列改大后还能修改吗?
原由:因领导说要保留id 99999和 98888这样的id号 自己用,然后开发就自己改了user_login_account表自增列起始值,开发本想改成100002,然而他多加了一个0,搞成了1000002,这就有点杯具了,
于是开发想试图把这个值改小成100002,结果改不回来了,他就找到我处理。
1 首先和开发沟通后确定影响到了2张表,一个表是user_login_account的自增id列,另一张表是user_info的account_id和user_code列 (非自增)
然后要查出来新数据写入了多少 条和是从哪条开始是100W自增。
1.查看user_login_account表最新数据数据写入id列为
1000412
2.id断点位置如下
| 1000004 |
| 1000003 |
| 1000002 |
| 98435 |
| 98434 |
1.查看user_info表最新数据数据写入account_id和user_code列为
1000412 1000412

2 account_id和user_code断点位置
| 1000006 | 1000006 |
| 1000005 | 1000005 |
| 1000004 | 1000004 |
| 1000003 | 1000003 |
| 1000002 | 1000002 |
| 98435 | 98435 |
| 98434 | 98434 |

解决:
改user_login_account新数据自增列,并把自增起始值改成100413,这次操作没有关业务当时看到凌晨没啥 数据写入,就直接 改了。
#!/bin/bash
for i in {1000002..1000412}
do
#ii=`echo ${i/0/}`
ii=$((i-900000))
mysql -udb -pabc -e "use db;update user_login_account set id='$ii' where id='$i'"
done
ALTER TABLE user_login_account auto_increment=100413;

改user_info表新数据account_id列
#!/bin/bash
for i in {1000002..1000412}
do
ii=$((i-900000))
mysql -udb -pabc -e "use db;update user_info set account_id='$ii' where account_id='$i'"
done

改user_info表新数据user_code列
#!/bin/bash
for i in {1000002..1000412}
do
ii=$((i-900000))
mysql -udb -pabc -e "use db;update user_info set user_code='$ii' where user_code='$i'"
done
欢迎大家给出意见,大家交流,共同进步。
  查看全部
2017-07-23 晚21:21接到开发打来的电话说mysql自增列改大后还能修改吗?
原由:因领导说要保留id 99999和 98888这样的id号 自己用,然后开发就自己改了user_login_account表自增列起始值,开发本想改成100002,然而他多加了一个0,搞成了1000002,这就有点杯具了,
于是开发想试图把这个值改小成100002,结果改不回来了,他就找到我处理。
1 首先和开发沟通后确定影响到了2张表,一个表是user_login_account的自增id列,另一张表是user_info的account_id和user_code列 (非自增)
然后要查出来新数据写入了多少 条和是从哪条开始是100W自增。
1.查看user_login_account表最新数据数据写入id列为
1000412
2.id断点位置如下
| 1000004 |
| 1000003 |
| 1000002 |
| 98435 |
| 98434 |
1.查看user_info表最新数据数据写入account_id和user_code列为
1000412 1000412

2 account_id和user_code断点位置
| 1000006 | 1000006 |
| 1000005 | 1000005 |
| 1000004 | 1000004 |
| 1000003 | 1000003 |
| 1000002 | 1000002 |
| 98435 | 98435 |
| 98434 | 98434 |

解决:
改user_login_account新数据自增列,并把自增起始值改成100413,这次操作没有关业务当时看到凌晨没啥 数据写入,就直接 改了。
#!/bin/bash
for i in {1000002..1000412}
do
#ii=`echo ${i/0/}`
ii=$((i-900000))
mysql -udb -pabc -e "use db;update user_login_account set id='$ii' where id='$i'"
done
ALTER TABLE user_login_account auto_increment=100413;

改user_info表新数据account_id列
#!/bin/bash
for i in {1000002..1000412}
do
ii=$((i-900000))
mysql -udb -pabc -e "use db;update user_info set account_id='$ii' where account_id='$i'"
done

改user_info表新数据user_code列
#!/bin/bash
for i in {1000002..1000412}
do
ii=$((i-900000))
mysql -udb -pabc -e "use db;update user_info set user_code='$ii' where user_code='$i'"
done
欢迎大家给出意见,大家交流,共同进步。
 

Percona-XtraDB-Cluster 5.7.18版本启动报错处理

MySQLwubx 发表了文章 • 0 个评论 • 221 次浏览 • 2017-07-12 18:10 • 来自相关话题

 版本: Percona-XtraDB-Cluster-5.7.18-rel15-29.20.1.Linux.x86_64.ssl101
利用:   /etc/init.d/mysql bootstrap-pxc
报错:
#/etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster).2017-07-12T09:37:11.152933Z mysqld_safe The file /mnt/workspace/percona-xtradb-cluster-5.7-binary-tarball/label_exp/centos6-64/Percona-XtraDB-Cluster-5.7.18-29.20/346/usr/local/Percona-XtraDB-Cluster-5.7.18-rel15-29.20.1.Linux.x86_64.ssl101/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
 ERROR! The server quit without updating PID file (/data/mysql/mysql3306/data/mysql.pid).
 ERROR! MySQL (Percona XtraDB Cluster) server startup failed!
 
处理办法:
sed -i 's/\/mnt\/workspace\/percona-xtradb-cluster-5.7-binary-tarball\/label_exp\/centos6-64\/Percona-XtraDB-Cluster-5.7.18-29.20\/346\/usr\/local\/Percona-XtraDB-Cluster-5.7.18-rel15-29.20.1.Linux.x86_64.ssl101/\/usr\/local\/mysql/g' /usr/local/mysql/bin/mysqld_safe
  查看全部
 版本: Percona-XtraDB-Cluster-5.7.18-rel15-29.20.1.Linux.x86_64.ssl101
利用:   /etc/init.d/mysql bootstrap-pxc
报错:
#/etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster).2017-07-12T09:37:11.152933Z mysqld_safe The file /mnt/workspace/percona-xtradb-cluster-5.7-binary-tarball/label_exp/centos6-64/Percona-XtraDB-Cluster-5.7.18-29.20/346/usr/local/Percona-XtraDB-Cluster-5.7.18-rel15-29.20.1.Linux.x86_64.ssl101/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
 ERROR! The server quit without updating PID file (/data/mysql/mysql3306/data/mysql.pid).
 ERROR! MySQL (Percona XtraDB Cluster) server startup failed!
 
处理办法:
sed -i 's/\/mnt\/workspace\/percona-xtradb-cluster-5.7-binary-tarball\/label_exp\/centos6-64\/Percona-XtraDB-Cluster-5.7.18-29.20\/346\/usr\/local\/Percona-XtraDB-Cluster-5.7.18-rel15-29.20.1.Linux.x86_64.ssl101/\/usr\/local\/mysql/g' /usr/local/mysql/bin/mysqld_safe