linux没网怎么linux安装wampserverpercona server

如何在CentOS 7上安装Percona服务器
在这篇文章中我们将了解关于 Percona 服务器,一个开源的MySQL,MariaDB的替代品。InnoDB的数据库引擎使得Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比的解决方
在这篇文章中我们将了解关于 Percona 服务器,一个开源的MySQL,的替代品。InnoDB的引擎使得Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比的解决方案,它将是一个很好的选择。
在下文中将介绍在 7上 Percona 服务器的安装,以及备份当前数据,配置的步骤和如何恢复备份。
1.什么是Percona,为什么使用它
Percona是一个MySQL,MariaDB数据库的开源替代品,它是MySQL的一个分支,相当多的改进和独特的功能使得它比MYSQL更可靠,性能更强,速度更快,它与MYSQL完全兼容,你甚至可以在Oracle的MySQL与Percona之间使用复制。
在Percona中独具特色的功能
分区适应哈希搜索
快速校验算法
缓冲池预加载
支持FlashCache
MySQL企业版和Percona中的特有功能
从不同的服务器导入表
现在,你肯定很兴奋地看到这些好的东西整合在一起,我们将告诉你如何安装和对Percona Server做基本配置。
2. 备份你的数据库
接下来,在命令行下使用SQL命令创建一个mydatabases.sql文件,来重建或恢复salesdb和employeedb数据库,根据你的设置替换数据库名称,如果没有安装MySQL则跳过此步:
mysqldump -u root -p --databases employeedb salesdb & mydatabases.sql
复制当前的配置文件,如果你没有安装MYSQL也可跳过:
3.删除之前的SQL服务器
停止MYSQL/MariaDB,如果它们还在运行:
systemctl s mysql.service
卸载MariaDB和MYSQL:
yum remove MariaDB-server MariaDB-client MariaDB-shared mysql mysql-server
移动重命名放在/var/lib/mysql当中的MariaDB文件。这比仅仅只是移除更为安全快速,这就像2级即时备份。:)
mv /var/lib/mysql /var/lib/mysql_mariadb
4.使用二进制包安装Percona
你可以在众多Percona安装方法中选择,在CentOS中使用Yum或者RPM包安装通常是更好的主意,所以这些是本文介绍的方式,下载源文件编译后安装在本文中并没有介绍。
从Yum仓库中安装:
首先,你需要设置Percona的Yum库:
yum install /downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
接下来安装Percona:
yum install Percona-Server-client-56 Percona-Server-server-56
上面的命令安装Percona的服务器和客户端、共享库,可能需要Perl和Perl模块,以及其他依赖的需要,如DBI::MySQL。如果这些尚未安装,可能需要安装更多的依赖包。
使用RPM包安装:
我们可以使用wget命令下载所有的rpm包:
wget -r -l 1 -nd -A rpm -R &*devel*,*debuginfo*& \
/downloads/Percona-Server-5.5/Percona-Server-5.5.42-37.1/binary/redhat/7/x86_64/
使用rpm工具,一次性安装所有的rpm包:
rpm -ivh Percona-Server-server-55-5.5.42-rel37.1.el7.x86_64.rpm \
Percona-Server-client-55-5.5.42-rel37.1.el7.x86_64.rpm \
Percona-Server-shared-55-5.5.42-rel37.1.el7.x86_64.rpm
注意在上面命令语句中最后的反斜杠'\'(只是为了换行方便)。如果您安装单独的软件包,记住要解决依赖关系,在安装客户端之前要先安装共享包,在安装服务器之前请先安装客户端。
5.配置Percona服务器
恢复之前的配置
当我们从MariaDB迁移过来时,你可以将之前的my.cnf的备份文件恢复回来。
cp /f.bkp /f
创建一个新的my.cnf文件
如果你需要一个适合你需求的新的配置文件或者你并没有备份配置文件,你可以使用以下方法,通过简单的几步生成新的配置文件。
下面是Percona-server软件包自带的my.cnf文件
# Percona Server template configuration
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedied server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-=/var/run/mysqld/mysqld.pid
根据你的需要配置好my.cnf后,就可以启动该服务了:
systemctl restart mysql.service
如果一切顺利的话,它已经准备好执行SQL命令了,你可以用以下命令检查它是否已经正常启动:
mysql -u root -p -e 'SHOW VARIABLES LIKE &version_comment&'
如果你不能够正常启动它,你可以在/var/log/mysql/mysqld.log中查找原因,该文件可在my.cnf的[mysql_safe]的log-error中设置。
tail /var/log/mysql/mysqld.log
你也可以在/var/lib/mysql/文件夹下查找格式为[主机名].err的文件,就像下面这个例子:
tail /var/lib/mysql/centos7.err
如果还是没找出原因,你可以试试strace:
yum install strace && systemctl stop mysql.service && strace -f -f mysqld_safe
上面的命令挺长的,输出的结果也相对简单,但绝大多数时候你都能找到无法启动的原因。
6.保护你的数据
好了,你的关系数据库管理系统已经准备好接收SQL查询,但是把你宝贵的数据放在没有最起码安全保护的服务器上并不可取,为了更为安全最好使用mysqlsecureinstall来安装,这个工具可以帮助你删除未使用的默认功能,并设置root的密码,限制使用此用户进行访问。只需要在shell中执行该命令,并参照屏幕上的说明操作。
mysql_secure_install
7.还原备份
如果您参照之前的设置,现在你可以恢复数据库,只需再用mysqldump一次。
mysqldump -u root -p & mydatabases.sql
恭喜你,你刚刚已经在你的CentOS上成功安装了Percona,你的服务器已经可以正式投入使用;你可以像使用MySQL一样使用它,你的服务器与它完全兼容。
为了获得更强的性能你需要对配置文件做大量的修改,但这里也有一些简单的选项来提高机器的性能。当使用InnoDB引擎时,将innodbfileper_table设置为on,它将在一个文件中为每个表创建索引表,这意味着每个表都有它自己的索引文件,它使系统更强大和更容易维修。
可以修改innodbbufferpool_size选项,InnoDB应该有足够的缓存池来应对你的数据集,大小应该为当前可用内存的70%到80%。
将innodb-flush-method设置为O_DIRECT,关闭写入高速缓存,如果你使用了RAID,这可以提升性能,因为在底层已经完成了缓存操作。
如果你的数据并不是十分关键并且并不需要对数据库事务正确执行的四个基本要素完全兼容,可以将innodbflushlogattrx_commit设置为2,这也能提升系统的性能。
译文:/article-5669-1.html
转载请保留固定链接:
------分隔线----------------------------
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
一、集群复制状态检查 1、SHOW GLOBAL STATUS LIKE wsrep_%;+-------------...
1. 什么是表分区? 表分区,是指根据一定规则,将数据库中的一...
在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个...
MongoDB 2.4新引入了一套权限控制的机制,而旧的addUser的方法在...
内容提纲 MySQL的特点; 硬件、系统优化; MySQL 配置优化; SCH...
数据库在运行中突然断电,当服务器重启发现MySQL无法启动,查...1.建立用户
groupadd -g 27mysql&
useradd -g 27 -s/sbin/nologin mysql&&
yum –y install perl perl-devel
tar xfPercona-Server-5.6.15-rel63.0-519.Linux.x86_64.tar.gz&
cd&Percona-Server-5.6.15-rel63.0-519.Linux.x86_64&&&&&
cp& support-files/mysql.server& /etc/init.d/mysqld&&&
3.改变权限&&
chown -R& mysql.mysql/root/Percona-Server-5.6.15-rel63.0-519.Linux.x86_64
ln -sv&Percona-Server-5.6.15-rel63.0-519.Linux.x86_64 mysql-5.6.15
4.配置my.cnf文件
port = 3306
user=mysql
basedir =/home/perhome/mysql-5.6.15
datadir =/home/perdata
socket =/home/perhome/var/run/mysql.sock
[mysqld_safe]
open-files-limit =10240
log-error =/home/perhome/var/log/mysql_err.log
pid-file =/home/perhome/var/run/mysqld.pid
mkdir -p&/home/perhome/var/log
mkdir -p&&/home/perhome/var/run
mkdir -p&/home/perhome/
mkdir -p&/home/perdata
5.初始化mysql
cd ./scripts/
./mysql_install_db--user=mysql --datadir=/home/perdata/ --basedir=/home/perhome/mysql-5.6.15/
6./home/perhome/mysql-5.6.15/bin/mysqld_safe &
7.vi/etc/profile.d/mysql.sh
exportPATH=/home/perhome/mysql-5.6.15/bin/:$PATH
source /etc/profile.d/mysql.sh
chown –R mysql:mysql /usr/local/var
8.vim/etc/init.d/mysqld
basedir=/home/perhome/mysql-5.6.15
datadir=/home/perdata
9.service mysqld restart
本文已收录于以下专栏:
相关文章推荐
MySQL数据库是轻量级、开源数据库的佼佼者,其功能和管理,健壮性与Oracle相比还是有相当的差距。因此有很多功能强大第三方的衍生产品,如percona-toolkit,XtraBackup等等。p...
1,调整最大文件数限制
#这个是默认值
echo ulimit -n 65535 &&/etc/profile
source /etc/profi...
debian7.7环境下如何编译安装percona server数据库
CentOS5.6(64bit)下编译安装Nginx1.2.0、Percona-Server-5.1.61、PHP5.3.10
一、安装centos5.6(64位)
   此步骤省略(详情见...
安装衍生版Percona Server5 个 MySQL 数据库的衍生版
http://www.oschina.net/news/32144/5-mysql-derivative安装包:Percon...
安装的mysql的percona分支;
文档:/doc/percona-server/5.6/
安装包:Percona-Server-5.6...
1、PXC安装环境:
集群名称: pxc-sky
node1 : 192.168.246.18
node2 : 192.168.246.19
node3 : 192.168.246.2...
安装SQL server 2005时,如果你选择的是默认安装,就不会安装AdventureWorks 数据库。因为许多教程和例子都需要用到AdventureWorks 数据库,所以安装Adventur...
他的最新文章
讲师:汪剑
讲师:刘道宽
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)博客访问: 1671157
博文数量: 629
博客积分: 6356
博客等级: 准将
技术积分: 6395
注册时间:
器量大者,福泽必厚
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
Percona-XtraDB-Cluster &工作原理和搭建过程见PerconaXtraDBCluster-5.5.34-25.9.pdf
搭建过程如下:
使用的软件为:
Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686.tar.gz 和percona-xtrabackup-2.1.6-702-Linux-i686.tar.gz
测试环境如下:
192.168.2.203 &db1
192.168.2.204 &db2
192.168.2.205 &db3
1:tar zxvf&&Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686.tar.gz
& & mv&&Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686 &/usr/local/
& & cd & /usr/local
& & ln -s &&Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686 &mysql
& & cd &/usr/local/mysql
& &./scripts/mysql_install_db --user=mysql && ##当然应该先配置/f
我的/f文件如下:在虚拟机上测试的环境,vm内存512M,1个vcpu
[root@haproxy1 bin]# cat /etc/my.cnf
port = 3306
socket = /tmp/mysql.sock
port = 3306
socket = /tmp/mysql.sock
datadir = /usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/var
server-id = 1
wait_timeout = 64800
interactive_timeout = 64800
skip-name-resolve
#default-character-set = utf8
lower_case_table_names = 1
character_set_server = utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
back_log = 50
max_connections = 500
max_connect_errors = 32
max_allowed_packet = 16M
#table_cache = 2048
binlog_cache_size = 1M
max_heap_table_size = 320M
tmp_table_size = 64M
key_buffer_size = 32M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
sort_buffer_size = 4M
join_buffer_size = 2M
thread_cache_size = 64
thread_concurrency = 8
thread_stack = 192K
tmp_table_size = 64M
ft_min_word_len = 2
#default_storage_engine = INNODB
#default_table_type = INNODB
transaction_isolation = REPEATABLE-READ
#log_slow_queries
slow_query_log
long_query_time = 2
#log_long_format
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
#myisam_max_extra_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 256M
innodb_data_file_path = ibdata1:128M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 8M
innodb_log_file_size = 16M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table
[mysqldump]
max_allowed_packet = 16M
no-auto-rehash
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 8192
看是否安装成功,有mysql、test、performance_schema 恭喜,mysql数据库已经安装成功!在另外2台机器上以同样的方式安装配置mysql,并测试是否可以成功启动!
##我的想法是先在3台mysql上按照不支持wsrep(write set replication)安装配置,等mysql启动正常了,然后在/f中添加wsrep相关配置!
2:安装xtrabackup,3台机器上都要安装,使用的最终版本是percona-xtrabackup-2.1.6-702-Linux-i686.tar.gz,开始我使用的是&percona-xtrabackup-2.1.3-608.tar.gz版本,
结果mysql总是不能启动成功,后来升级到percona-xtrabackup-2.1.6-702-Linux-i686.tar.gz 问题解决了,推荐使用最新版的xtrabackup。
tar zxvf &&percona-xtrabackup-2.1.6-702-Linux-i686.tar.gz
mv &&percona-xtrabackup-2.1.6-702-Linux-i686 /usr/local/xtrabackup
下面是配置环境变量,
echo "export PATH=/usr/local/xtrabackup/bin:/usr/local/mysql/bin:$PATH" &&/etc/profile
source /etc/profile
3:修改/f文件
203上的my.cnf中添加如下:
wsrep_cluster_address=gcomm://192.168.2.203,192.168.2.204,192.168.2.205
wsrep_provider=/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/lib/libgalera_smm.so
wsrep_slave_threads=1
wsrep_cluster_name=pxctest
wsrep_node_address=192.168.2.203
wsrep_sst_method=xtrabackup
wsrep_sst_auth="sstuser:s3cret"
#log_slave_updates
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
204的my.cnf中添加如下:
wsrep_cluster_address=gcomm://192.168.2.203,192.168.2.204,192.168.2.205
wsrep_provider=/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/lib/libgalera_smm.so
wsrep_slave_threads=1 ##我的为测试的vm,只有yig
#wsrep_sst_donor=192.168.2.203
wsrep_cluster_name=pxctest
wsrep_node_address=192.168.2.204
wsrep_sst_method=xtrabackup
wsrep_sst_auth="sstuser:s3cret"
#log_slave_updates
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
205的my.cnf中添加如下:
wsrep_cluster_address=gcomm://192.168.2.203,192.168.2.204,192.168.2.205
wsrep_provider=/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/lib/libgalera_smm.so
wsrep_slave_threads=1
wsrep_cluster_name=pxctest
wsrep_node_address=192.168.2.205
#wsrep_sst_donor=192.168.2.203
wsrep_sst_method=xtrabackup
wsrep_sst_auth="sstuser:s3cret"
#log_slave_updates
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
关于wsrep_cluster_address的设置,有的在my.cnf中写入:
wsrep_cluster_address=gcomm:// &
这种方式不好! &percona大牛特别强调在my.cnf中不要出现红色字体的写法.
codeship官方也说这种方式已经deprecated了:
还有另外一个参数wsrep_node_address,最好也指定:
另外还有一个配置:
wsrep_provider_options='gcache.size=1G;socket.ssl_key=my_socket.ssl_cert=my_cert'
4:在203 机器上创建一个用户:
mysql@percona1& CREATE USER ’sstuser’@’localhost’ IDENTIFIED BY ’s3cret’;
mysql@percona1& GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO ’sstuser’@’localhost’;
mysql@percona1& FLUSH PRIVILEGES;
5:启动203 204 205 节点:
203节点的启动和其他的两个节点有些不同:
203:&/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/bin/mysqld_safe &--wsrep-cluster-address="gcomm://" &&
204:&/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/bin/mysqld_safe & &
205:&/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/bin/mysqld_safe &&&
6:查看错误日志,如果一切正常,恭喜你了!
或分别在3台db上创建db和table,看是否能在3太机器上看到,如果能看到,说明一切正常!
模拟故障情况:
模拟joiner出现问题了,
假设205 或204中的一台机器宕机了, 在203 和 204 再次创建db和表看看是否能同步,显然是同步到 ,一个节点出现问题,不影响用户使用的!
模拟新安装了一台机器,代替204或205 ,ip地址,当然是必须是一样的,可以将现在的var目录为备份了,重新执行
cd /usr/local/mysql
./scripts/mysql_install_db &--user=mysql &&
会初始化一个db,启动/usr/local/mysql/bin/mysqld_safe &--user=mysql && &看以前创建的db和表是否能同步过来,如果能同步过来,肯定是正常的!
这个过程注意用原来的mysql覆盖刚生成都mysql库,如果在mysql库中创建了其他的用户,就需要覆盖,否则不需要
模拟原来的donor出现问题了,模拟方法一样的,尤其要注意需要用mysql覆盖刚生成的mysql,启动myqld的时候用:
/usr/local/mysql/bin/mysqld_safe &--user=mysql &&
/usr/local/mysql/bin/mysqld_safe &--user=mysql & --wsrep-cluster-address="gcomm://" &&&
使用后一种方式启动,db不会同步的,会在后台类似于有如下的提示:
:23:59 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
:23:59 [Note] WSREP: Assign initial position for certification: 0, protocol version: 2
:23:59 [Note] WSREP: Synchronized with group, ready for connections
:23:59 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
:25:17 [Warning] WSREP: last inactive check more than PT1.5S ago (PT1.80966S), skipping check
自己学习过程中遇到的几个问题如下,我是使用的Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686.tar.gz;
[root@haproxy2 ~]# tar zxvf Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686.tar.gz
[root@haproxy2 ~]# mv&&Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686 &/usr/local/mysql
[root@haproxy1 mysql]# ./scripts/mysql_install_db &--user=mysql
Installing MySQL system tables...
./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:yum -y install libaio-devel
2:[root@haproxy1 mysql]# ./scripts/mysql_install_db &--user=mysql
Installing MySQL system tables...
./bin/mysqld: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
解决方法:
yum -y install openssl-devel
[root@haproxy1 mysql]# cd /usr/lib
[root@haproxy1 lib]# ls libssl.so
[root@haproxy1 lib]# ln -s libssl.so libssl.so.6
##另外一个问题:
error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory
/usr/local/Percona-XtraDB-Cluster-5.6.15-25.3.706.Linux.x86_64/bin/my_print_defaults: error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory
[root@haproxy1 lib]#ln -s libcrypto.so &libcrypto.so.6
3:[root@haproxy1 Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686]# ./scripts/mysql_install_db &--user=mysql &
Installing MySQL system tables...
:13:28 [ERROR] WSREP: Query cache is not supported (size= type=1)
:13:28 [ERROR] Aborting
将/f中的query_cache_*相关配置删除即可
[root@haproxy1 Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686]# cat /f | grep queyr_cache
query_cache_size & & & &= 64M
query_cache_limit & & & = 2M
4::21 [ERROR] WSREP: Parallel applying (wsrep_slave_threads & 1) requires innodb_autoinc_lock_mode = 2.
:03:21 [ERROR] Aborting
必须在my.cnf中添加:innodb_autoinc_lock_mode=2
否则就有如上的报错
5:WSREP_SST: [ERROR] socat not found in path: /usr/sbin:/sbin:/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686//bin:/usr/local/xtrabackup/bin:/usr/local/xtrabackup/bin:/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:....
解决方法:下载socat进行安装,但在make时报错,报错如下:
FIPSLD_CC=gcc fipsld -O -D_GNU_SOURCE &-Wall -Wno-parentheses -DHAVE_CONFIG_H -I. &-I. & -c -o socat.o socat.c
/bin/sh: fipsld: command not found
make: *** [socat.o] Error 127
解决方法:./configure&--disable-fips & &添加了--disable-fips参数,然后make即可正常
15:31 [Warning] WSREP: Failed to prepare for incremental state transfer: Local state UUID (0-) does not match group state UUID (2f3ef8ae-63df-11e3-82f5-7a938ff581b4): 1 (Operation not permitted)
& & & & &at galera/src/replicator_str.cpp:prepare_for_IST():445. IST will be unavailable.
:15:31 [Note] WSREP: Node 2 (pxc3) requested state transfer from '*any*'. Selected 0 (pxc1)(SYNCED) as donor.
:15:31 [Note] WSREP: Shifting PRIMARY -& JOINER (TO: 0)
:15:31 [Note] WSREP: Requesting state transfer: success, donor: 0
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
WSREP_SST: [ERROR] Error while getting data from donor node: &exit codes: 0 2 (:15:34.320)
WSREP_SST: [ERROR] Cleanup after exit with status:32 (:15:34.332)
WSREP_SST: [INFO] Removing the sst_in_progress file (:15:34.349)
:15:34 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup --role 'joiner' --address '192.168.1.46' --auth '' --datadir '/usr/local/mysql/var/' --defaults-file '/f' --parent '2714': 32 (Broken pipe)
:15:34 [ERROR] WSREP: Failed to read uuid:seqno from joiner script.
:15:34 [ERROR] WSREP: SST failed: 32 (Broken pipe)
:15:34 [ERROR] Aborting
这个问题耗费了我太久的时间,网上也找不到解决方法,上面错误的原因是xtrabackup没有正常工作,我遇到的问题如下:
我在/f中设置wsrep_sst_method=rsync后,3台机器上的mysql都能正常启动,但设置成wsrep_sst_method=xtrabackup,就出现上面的问题!
我怀疑是xtrbackup的问题,在primary上/usr/local/mysql/var目录下发现:
[root@haproxy1 var]# cat &innobackup.backup.log
Can't locate Time/HiRes.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl&
/usr/lib/perl5 /usr/share/perl5 .) at /usr/local/xtrabackup/bin/innobackupex line 23.
BEGIN failed--compilation aborted at /usr/local/xtrabackup/bin/innobackupex line 23.
解决方法:
yum &-y install perl-Time-HiRes
root@haproxy1 var]# cat innobackup.backup.log&
InnoDB Backup Utility v1.5.1- Copyright
Innobase Oy
and Percona Ireland Ltd . &All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
:51:21 &innobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_file=/f;mysql_read_default_group=xtrabackup' (using password: NO).
ERROR: Failed to connect to MySQL server as DBD::mysql module is not installed at /usr/local/xtrabackup/bin/innobackupex line 1397.
解决方法:
[root@haproxy2 var]# rpm -qa | grep &perl-DB
perl-DBI-1.609-4.el6.i686
perl-DBD-MySQL-4.013-3.el6.i686
上面对两个问题解决了,但innobackup.backup.log中依然有如下的问题:
&[root@haproxy1 var]# cat innobackup.backup.log&
InnoDB Backup Utility v1.5.1- Copyright
Innobase Oy
and Percona Ireland Ltd . &All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
:04:51 &innobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_file=/f;mysql_read_default_group=xtrabackup'&
(using password: NO).
:04:51 &innobackupex: Connected to MySQL server
IMPORTANT: Please check that the backup run completes successfully.
& & & & & &At the end of a successful backup run innobackupex
& & & & & &prints "completed OK!".
innobackupex: Using mysql server version 5.5.34-25.9-log
sh: /usr/bin/xtrabackup_55: cannot execute binary file
innobackupex: fatal error: no 'mysqld' group in MySQL options
##网上找的解决方法都不行。
最终的解决方法:升级版本,
原版本为:percona-xtrabackup-2.1.3-608.tar.gz
升级到 percona-xtrabackup-2.1.6-702-Linux-i686.tar.gz & 就正常了!
最上面的错误也没有了!
6:innobackupex not in path:
WSREP_SST: [ERROR] innobackupex not in path: /usr/sbin:/sbin:/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686//bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin (:06:50.078)
:06:50 [ERROR] WSREP: Failed to read 'ready &addr&' from: wsrep_sst_xtrabackup --role 'joiner' --address '192.168.2.205' --auth 'sstuser:s3cret' --datadir '/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/var/' --defaults-file '/f' --parent '2898'
& & & & Read: '(null)'
:06:50 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup --role 'joiner' --address '192.168.2.205' --auth 'sstuser:s3cret' --datadir '/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/var/' --defaults-file '/f' --parent '2898': 2 (No such file or directory)
:06:50 [ERROR] WSREP: Failed to prepare for 'xtrabackup' SST. Unrecoverable.
:06:50 [ERROR] Aborting
解决方法:安装percona-xtrabackup ,并配置路径即可正常
7:innobackupex: Error: Failed to connect to MySQL server: DBI connect
[root@haproxy1 var]# cat &innobackup.backup.log&
InnoDB Backup Utility v1.5.1- Copyright
Innobase Oy
and Percona LLC and/or its affiliates . &All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
Get the latest version of Percona XtraBackup, documentation, and help resources:
:22:35 &innobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_file=/f;mysql_read_default_group=xtrabackup' as 'sstuser' &(using password: YES).
innobackupex: Error: Failed to connect to MySQL server: DBI connect(';mysql_read_default_file=/f;mysql_read_default_group=xtrabackup','sstuser',...) failed: Access denied for user 'sstuser'@'localhost' (using password: YES) at /usr/local/xtrabackup/bin/innobackupex line 2954
原因:primary上的mysql上面缺少对应的用户或用户名和密码不匹配!我的是缺少相应的用户,创建用户即可
WSREP_SST: [INFO] Evaluating socat -u TCP-LISTEN:4444,reuseaddr stdio | tar xfi - --recursive-unlink -h; RC=( ${PIPESTATUS[@]} ) (:35:07.478)
15:35:07 socat[1584] E bind(11, {AF=2 0.0.0.0:4444}, 16): Address already in use
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
解决方法:
[root@varnish1 ~]# lsof -i :4444
lsof: no pwd entry for UID 503
COMMAND &PID & & USER & FD & TYPE DEVICE SIZE/OFF NODE NAME
lsof: no pwd entry for UID 503
socat & 5256 & & &503 & 11u &IPv4 &13450 & & &0t0 &TCP *:krb524 (LISTEN)
[root@varnish1 ~]# kill 5256
[root@varnish1 ~]# lsof -i :4444
lsof: no pwd entry for UID 503
COMMAND &PID & & USER & FD & TYPE DEVICE SIZE/OFF NODE NAME
lsof: no pwd entry for UID 503
socat & 5256 & & &503 & 11u &IPv4 &13450 & & &0t0 &TCP *:krb524 (LISTEN)
[root@varnish1 ~]# kill -9 5256
[root@varnish1 ~]# lsof -i :4444
[root@varnish1 ~]# lsof -i :4444
:08:12 [Note] WSREP: Running: 'wsrep_sst_xtrabackup --role 'joiner' --address '192.168.2.204' --auth 'sstuser:s3cret' --datadir '/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/var/' --defaults-file '/f' --parent '19005''
WSREP_SST: [INFO] Streaming with tar (:08:13.479)
WSREP_SST: [INFO] Using socat as streamer (:08:13.491)
WSREP_SST: [INFO] Evaluating socat -u TCP-LISTEN:4444,reuseaddr stdio | tar xfi - --recursive-unlink -h; RC=( ${PIPESTATUS[@]} ) (:08:13.554)
:08:13 [Note] WSREP: Prepared SST request: xtrabackup|192.168.2.204:4444/xtrabackup_sst
:08:13 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
:08:13 [Note] WSREP: Assign initial position for certification: 7, protocol version: :08:13 [Warning] WSREP: Failed to prepare for incremental state transfer: Local state UUID (0-) does not match group state UUID (dfd-11e3-9eb8-b): 1 (Operation not permitted)
& & & & &at galera/src/replicator_str.cpp:prepare_for_IST():445. IST will be unavailable.
:08:13 [Note] WSREP: Node 1 (varnish1) requested state transfer from '*any*'. Selected 0 (haproxy2)(SYNCED) as donor.
:08:13 [Note] WSREP: Shifting PRIMARY -& JOINER (TO: 7)
:08:13 [Note] WSREP: Requesting state transfer: success, donor: 0
:08:25 [Warning] WSREP: 0 (haproxy2): State transfer to 1 (varnish1) failed: -1 (Operation not permitted)
:08:25 [ERROR] WSREP: gcs/src/gcs_group.c:gcs_group_handle_join_msg():719: Will never receive state. Need to abort.
上面为错误的信息:
下面是正常工作的时候,日志中打印出的信息:
:13:44 [Note] WSREP: Running: 'wsrep_sst_xtrabackup --role 'joiner' --address '192.168.2.205' --auth 'sstuser:s3cret' --datadir '/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/var/' --defaults-file '/f' --parent '20102''
WSREP_SST: [INFO] Streaming with tar (:13:45.342)
对比不难发现差别为--address '192.168.2.204'和--address '192.168.2.205' & ,这是因为我粗心了,
在192.168.2.205机器上,在/f中 wsrep_node_address=192.168.2.205 设置为204了,导致一直有问题,我弄好久才弄出来!
粗心累死人!
场景:我关闭了db1,db2 ,就剩下db3了(其实作为一个db,db3 的3306端口是工作的,而且也可以往里写入数据), 用mysql -uroot -p
登录db3, 在aaaa下的person表中插入一条记录,然后依次启动db1 和db2 ,启动db2时使用&
/usr/local/mysql/bin/mysqld_safe &--user=mysql &--wsrep_cluster_address=gcomm:// &
启动db1时使用: /usr/local/mysql/bin/mysqld_safe &--user=mysql & &
启动db3时使用: /usr/local/mysql/bin/mysqld_safe &--user=mysql & &
结果db3 启动失败,报错如下:
:18:05 [Note] WSREP: Shifting OPEN -& CLOSED (TO: 7)
:18:05 [Note] WSREP: RECV thread exiting 0: Success
:18:05 [Note] WSREP: recv_thread() joined.
:18:05 [Note] WSREP: Closing replication queue.
:18:05 [Note] WSREP: Closing slave action queue.
:18:05 [ERROR] WSREP: Local state seqno (10) is greater than group seqno (7): states diverged. Aborting to avoid potential data loss. Remove&
'/usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/var//grastate.dat' file and restart if you wish to continue. (FATAL)
& & & & &at galera/src/replicator_str.cpp:state_transfer_required():33
:18:05 [Note] WSREP: applier thread exiting (code:8)
:18:05 [ERROR] Aborting
解决方法:在db3上,执行
rm -f /usr/local/Percona-XtraDB-Cluster-5.5.34-25.9.607.Linux.i686/var//grastate.dat
然后启动db3 就正常了,当然在db3上单独删除的记录丢了!
阅读(10310) | 评论(1) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
感谢博主的分享
请登录后评论。

我要回帖

更多关于 linux安装vncserver 的文章

 

随机推荐