1、安装,在centos中配置yum源,具体的源生成页面官方的: https://downloads.mariadb.org/mariadb/repositories/#mirror=shanghai-university
这里给出安装10.3的版本 yum源:
vi /etc/yum.repos.d/MariaDB.repo
#
MariaDB 10.3 CentOS repository list - created 2018-11-09 02:41 UTC
[mariadb]
name = MariaDB
gpgcheck=1
2、yum安装 :
yum install MariaDB-server MariaDB-client
3、启动服务:
systemctl start mysql
4、如果是新数据库,设置数据库:
mysql_secure_installation
旧数据库要升级数据库:
mysql_upgrade -uroot -p (如socket路径是/opt/mysql/mysql.sock,加上 --socket=/opt/mysql/mysql.sock )
如果需要重新安装初始数据库用指令(yum安装后会安装初始数据库):
mysql_install_db --user=mysql (如配置文件是/etc/my.cnf.d/server.cnf,加上 --defaults-file=/etc/my.cnf.d/server.cnf )
5、修改配置文件:
vi /etc/my.cnf.d/server.cnf
[mysqld]
server-id=245
user=mysql
#datadir=/opt/mysql
innodb_data_file_path = ibdata1:10M:autoextend
skip-external-locking
skip-name-resolve
character-set-server=utf8
log-error= /opt/mysql/mysql-error.log
#
# * Galera-related settings
#
[galera]
# Mandatory settings
wsrep_provider_options="gcache.size=4G"
wsrep_certify_nonPK=ON
wsrep_on=ON
#集群名称是集群的名称,区分多个集群
wsrep_cluster_name="shoudian"
#集群列表对新集群而言可以不设,但如果这台是新加入节点就需要写上前面几台的地址
#wsrep_cluster_address="gcomm://10.28.11.69,10.28.11.73,10.28.11.75"
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
# Allow server to accept connections on all interfaces.
#bind-address=0.0.0.0
# Optional setting
wsrep_slave_threads=8
innodb_flush_log_at_trx_commit=0
6、启动集群:
第一台服务器
mysqld --defaults-file=/etc/my.cnf.d/server.cnf --user=mysql --wsrep-new-cluster --wsrep-cluster-address="gcomm://"
或者 启动集群命令:service mysql start --wsrep-new-cluster --wsrep-cluster-address="gcomm://"
后继服务器
service mysql start (systemctl start mysql)
或
/etc/init.d/mysql start 很多次使用 service mysql start 或 systemctl start mysql 会失败而这个正常
7、查看集群状态,执行sql:
show status like "wsrep%";
- 必须关闭 selinux!否则报错,会无法连入集群;而且启用selinux后,如果修改数据库目录,启动数据库就会报innodb无法初始化
- 记得防火墙必须开放4567 4444端口(默认的集群端口,第一台是4567,后继的是4444;但后面就不分了,所以一起开放吧,否则也会报错无法连入集群)
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --zone=public --add-port=4444/tcp --permanent
firewall-cmd --reload
- 注意,各个节点尽量用同一个版本的MariaDB(可以高版本加入低版本的集群),否则会出各种问题!
- !!!如果是已有数据库,包含了集群外的数据,切莫作为后继节点连入集群,否则原有数据会被集群数据所清除!!!切记切记
- 数据的同步依然是有一定延迟,尤其是新建表及对其的操作
- 在配置文件中修改数据库的路径有时会出问题