暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

mariadb 10.4主从环境安装记录

原创 ziyoo0830 2019-12-10
3419

192.168.11.40、43 mariadb 10.4主从环境安装记录

192.168.11.40

更改主机名

shell> # hostnamectl set-hostname rxdb1140

关闭防火墙

临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临时打开防火墙 systemctl start firewalld 防火墙开机启动 systemctl enable firewalld 查看防火墙状态 systemctl status firewalld

关闭selinux

getenforce 临时关闭SELinux setenforce 0 临时打开SELinux setenforce 1 查看SELinux状态 getenforce 开机关闭SELinux 编辑/etc/selinux/config文件,将SELINUX的值设置为disabled。下次开机SELinux就不会启动了。

通过yum安装mariadb 10.4

加载yum源

shell> curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
shell> yum clean all
shell> yum install MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common

创建相应的目录

[root@rxdb1140 data]# mkdir mariadbdata
[root@rxdb1140 mariadbdata]# pwd
/data/mariadbdata

将安装文件迁移到/data目录下

shell> # systemctl stop mariadb shell> mv /var/lib/mysql/ /data/mariadbdata/

编辑/etc/my.cnf.d/server.cnf文件

在/etc/my.cnf.d/server.cnf 加入如下内容

[root@rxdb1140 my.cnf.d]# more server.cnf 
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]

#
# * Galera-related settings
#
[galera]
# Mandatory settings
#wsrep_on=ON
#wsrep_provider=
#wsrep_cluster_address=
#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=1
#innodb_flush_log_at_trx_commit=0

# this is only for embedded server
[embedded]

# This group is only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]

# This group is only read by MariaDB-10.4 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mariadb-10.4]
log_bin=mariadb-bin
server-id=1921681140
port=3306
socket=/data/mariadbdata/mysql/mysql.sock
log-error=/data/mariadbdata/mysql/mysqld40.log
datadir=/data/mariadbdata/mysql/
lower_case_table_names=1
innodb_buffer_pool_size=180G
log_slave_updates=1
character-set-server=utf8mb4
expire_logs_days=30
[mysql]
socket=/data/mariadbdata/mysql/mysql.sock
[client]
default-character-set = utf8mb4 

安全设置

shell> # mysql_secure_installation -S /data/mariadbdata/mysql/mysql.sock

创建root远程登录账户

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'CwdCgjwlotrbxzAW3JYQ' WITH GRANT OPTION;

192.168.11.43 安装

重复上面的过程

server.cnf 文件修改 server-id,log-error,read only等参数

主从复制

创建复制用户

grant replication slave on *.* to 'repl'@'%' identified by 'I0WW18BdX2P340w5DbZM';

主端备份

shell> mysqldump -uroot -p -S /data/mariadbdata/mysql/mysql.sock --master-data=2 -A | gzip -1 > all_data_20191209.sql.gz Enter password: [root@rxdb1140 ~]# ls -rlht total 428K -rw-------. 1 root root 1.6K Dec 5 22:20 anaconda-ks.cfg -rw-r--r-- 1 root root 423K Dec 8 20:51 all_data_20191209.sql.gz

传输备份到11.43

[root@rxdb1143 ~]# zcat all_data_20191209.sql.gz | mysql -uroot -p -S /data/mariadbdata/mysql/mysql.sock Enter password: [root@rxdb1143 ~]#

获取gtid位置

shell> [root@rxdb1143 ~]# zless all_data_20191209.sql.gz | more -- MariaDB dump 10.17 Distrib 10.4.10-MariaDB, for Linux (x86_64) -- -- Host: localhost Database: -- ------------------------------------------------------ -- Server version 10.4.10-MariaDB-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mariadb-bin.000002', MASTER_LOG_POS=532; -- -- GTID to start replication from -- -- SET GLOBAL gtid_slave_pos='0-1921681140-1';

开启复制

shell> mysql -uroot -p
mysql> SET GLOBAL gtid_slave_pos='0-1921681140-1';

mysql> CHANGE MASTER TO MASTER_HOST='192.168.11.40',MASTER_USER='repl',MASTER_PASSWORD='I0WW18BdX2P340w5DbZM',MASTER_USE_GTID=slave_pos;

mysql> start slave;

mysql> show slave status \G

测试

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论