主页 > 软件开发  > 

mysql多主集群galeraclusterformysql8安装配置启动重启集群

mysql多主集群galeraclusterformysql8安装配置启动重启集群

[TOC]

一、安装mysql 1、安装 系统环境: Ubuntu 18.04 64位 MySQL 8.0.19 下载MySQL APT安装配置包 首先访问 dev.mysql /downloads/repo/apt/ 获取配置包下载地址 wget dev.mysql /get/mysql-apt-config_0.8.14-1_all.deb sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb sudo apt-get update sudo apt-get install mysql-server -y 输入root密码0,也是数据库初始密码 选择身份验证方式、密码加密方式,这里默认的即可。回车 确定 安装完成。

运行后的pid和socket默认文件目录/run/mysqld/ 日志文件:/var/log/mysql/error.log

2、启动,报错处理

2.1 启动

mysql -uroot -p0

2.2、报错 /tmp/mysql.sock 可以使用命令启动

mysql -uroot -p0 -S /run/mysqld/mysqld.sock=

或者修改配置加上socket项

[mysqld] datadir=/usr/local/mysql/data basedir=/usr/local/mysql #(跟这个socket路径一样) socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] port=3306 socket=/var/lib/mysql/mysql.sock 3、初始化msql mysqld --initialize-insecure #root密码置空 service mysql start mysql -uroot -p #如果无法使用use mysql; alter user 'root'@'localhost' identified by 'xxx'; use mysql; update user set host="%" where user='root'; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; 4、客户端工具连接报错

这是因为mysql8的加密方式和Navicat不一样

#修改编码方式 alter user root identified with mysql_native_password by 'xxx'; 二、galera-mysql集群安装 资源下载与安装 galeracluster /downloads/ wsrep-api插件 http://releases.galeracluster /mysql-wsrep-8.0/ubuntu/pool/main/m/mysql-wsrep/?C=N;O=A galera4 http://releases.galeracluster /galera-4/ubuntu/pool/main/g/galera-4/?C=N;O=A 1、安装对应依赖

所有节点执行

apt-get install python-software-properties -y && apt-get install software-properties-common -y 2、添加GunPG key

所有节点执行

apt-key adv --keyserver keyserver.ubuntu --recv BC19DDBA 3、配置Ubuntu下galera源

所有节点执行 创建galera.list文件:

touch /etc/apt/sources.list.d/galera.list nano -w /etc/apt/sources.list.d/galera.list

在galera.list中添加内容:

#Codership Repository (Galera Cluster for MySQL) deb http://releases.galeracluster /mysql-wsrep-8.0/ubuntu/ bionic main deb http://releases.galeracluster /galera-4/ubuntu bionic main

链接中的“bionic”为你所用的ubuntu系统的版本号,如果不清楚自己的Ubuntu版本号,可通过命令lsb_release -a来查看。

保存退出:ctrl+x y 回车

4、继续配置源

所有节点执行

touch /etc/apt/preferences.d/galera.pref nano /etc/apt/preferences.d/galera.pref

在galera.pref文件中添加内容:

Package: * Pin: origin releases.galeracluster Pin-Priority: 1001 5、更新源

所有节点执行

sudo apt-get update 6、安装mysql和Galera

一旦在所有服务器上更新了存储库,就可以在三台服务器上运行以下命令安装MySQL8.0的修补程序与Galera:

sudo apt-get install galera-4 galera-arbitrator-4 mysql-wsrep-8.0 7、集群配置

新建文件/etc/mysql/conf.d/galera f,基本配置

[mysqld] binlog_format=ROW default-storage-engine=innodb innodb_autoinc_lock_mode=2 #bind-address=0.0.0.0 server_id=2 # Galera Provider Configuration wsrep_on=ON wsrep_provider=/usr/lib/galera/libgalera_smm.so # Galera Cluster Configuration wsrep_cluster_name="my_cluster" #把三个node的IP地址写入进去 wsrep_cluster_address="gcomm://192.168.2.12:4567,192.168.2.13:4567,192.168.2.14:4567" #wsrep_cluster_address="gcomm://" # Galera Synchronization Configuration wsrep_sst_method=rsync wsrep_sst_auth=wsrep:sstpaas123 slow_query_log=on # Galera Node Configuration wsrep_node_address="192.168.2.13" #当前node的IP地址 wsrep_node_name="node02" # 指定wsrep启动端口号,4567为默认值 wsrep_sst_donor='node04,node02,node03'

说明: server_id集群每台服务器都不同 wsrep_cluster_address第一台主集群配置的时候="gcomm://",启动之后更改成全配置 wsrep_sst_method=rsync全量配置或增量配置 wsrep_node_address=本机ip wsrep_node_name=本机hostname wsrep_sst_donor=把本机hostname填到最后或者不填,否则有些情况下无法启动并加入到集群

8、启动集群 #启动集群第一个主 mysqld_bootstrap 启动其他 service mysql start #查看集群状态 mysql -uroot -p'xxxxxxxxx' -e "SHOW STATUS LIKE 'wsrep_cluster%'" #wsrep_cluster_size 结果代表集群有几个节点 #查看日志 tail -f /var/log/mysql/error.log 报错解决办法: 第一步:sudo apt-get remove apparmor -y 第二步:#打开文件/usr/share/mysql-8.0/mysql-systemd-start,将该文件的以下行注释掉。 sanity() { #/lib/apparmor/profile-load usr.sbin.mysqld #这行注释掉 } 第三步:重启虚拟机 sudo reboot 第四步:执行service mysql start 9、重启集群

注意:关闭Mysql自启动,如果所有服务器全部reboot,重启集群的时候,会不知道哪台服务器的seqno最大,重启集群,需要从最大的seqno开始,否则数据会被还原。 cat /var/lib/mysql/grastate.dat;查看seqno

cat /var/lib/mysql/grastate.dat #选择主节点,执行: sed -i 's/safe_to_bootstrap: 0/safe_to_bootstrap: 1/g' /var/lib/mysql/grastate.dat #重启3种情况 #第一种情况:第一次启动,配置wsrep_cluster_address="gcomm://",重启好之后改成全部 service mysql start --wsrep-new-cluster (第一次启动一定要使用--wsrep-new-cluster,再次启动就不需要) #第二种情况:没有全部停机的情况下,wsrep_cluster_address="gcomm://192.168.2.12:4567,192.168.2.13:4567,192.168.2.14:4567" service mysql start #第三种情况:全部停机了,wsrep_cluster_address="gcomm://192.168.2.12:4567,192.168.2.13:4567,192.168.2.14:4567" 不想改配置就用这种 mysqld --wsrep-new-cluster --wsrep-cluster-address='gcomm://' & #service mysql start --wsrep-new-cluster --wsrep-cluster-address='gcomm://' #这句不生效,只能用上面的 #再启动集群其他节点 service mysql start 注意:如果无法启动其他节点 #删除所有节点的两个缓存文件及/var/lock/subsys 目录下的mysql 文件,然后重新启动: rm -rf /var/lock/subsys/mysql rm -rf /var/lib/mysql/galera.cache rm -rf /var/lib/mysql/grastate.dat #如果还是无效,删除wsrep_sst_donor配置,或者把自己写到最后,或者自己不写 #wsrep_sst_donor="node04,node01,node03,node02"

完成。

© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

标签:

mysql多主集群galeraclusterformysql8安装配置启动重启集群由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“mysql多主集群galeraclusterformysql8安装配置启动重启集群