前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS上搭建MariaDB复制

CentOS上搭建MariaDB复制

作者头像
程序猿讲故事
发布2019-09-26 16:22:46
6180
发布2019-09-26 16:22:46
举报

一直没有自己配置过mysql复制,这两天空闲一些,在电脑上装了免费的VMWare Workstation Player,然后下载CentOS的最新版,开始配置一下。只记录了用到的命令,权当作流水账吧。

1 基础系统

1.1系统信息

# ip addr // 查看IP地址

1.2安装必须软件

# yum searchifconfig
# yum installnet-tools
# yum installvim
# yum installtelnet
# yum installwget
# yum installgpm     // 鼠标驱动
# systemctlenable gpm
# systemctlstart gpm

1.3 三台服务器信息

主服务器 : 192.168.5.128/24

从服务器1 : 192.168.5.129/24

从服务器2 : 192.168.5.130/24

2 数据库 MariaDB

主要参考了图书《高性能MySQL》第3版。图书中介绍的是Mysql,但CentOS缺省集成了MariaDB的YUM源,也就懒得换了,直接用MariaDB就好。

2.1数据库基础安装

# yum installmariadb-server; mariadb-client
# vim/etc/my.cnf.d/server.cnf
[mysqld]
init_connect =’SET collation_connection = utf8_unicode_ci’
init_connect =‘SET NAMES utf8’
character-set-server= utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
# vim/etc/my.cnf.d/client.cnf
[client]
default-character-set= utf8
# vim/etc/my.cnf.d/mysql-client.cnf
[client]
default-character-set= utf8
# systemctlstart mariadb
# systemctlenable mariadb  // 系统启动时自动启动
// 初始化mysql 实例
#mysql_secure_installation
// 允许 root 远程登陆
# mysql -uroot-p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY'123456' ;
mysql> flush privileges ;

2.2防火墙启用数据库端口

// Centos7 防火墙打开端口号
# firewall-cmd--zone=public --add-port=3306/tcp --permanent
# firewall-cmd--reload              // 重启firewall
# firewall-cmd--list-ports     // 查看已经开放的端口
# firewall-cmd--state          // 查看默认防火墙状态

2.3MySQL配置主从复制

2.3.1 所有服务器都创建复制账号

# mysql -uroot-p
mysql> GRANTREPLICATION SLAVE, 
-> REPLICATION CLIENT ON *.* 
-> TO repl@'192.168.5.%' IDENTIFIEDBY 'password';

2.3.2 主服务器配置

# vim/etc/my.cnf.d/server.cnf
log_bin =mysql-bin
server_id = 128    // 直接用IP地址的最后8位
sync_binlog = 1

2.3.3 从服务器配置

# vim/etc/my.cnf.d/server.cnf
# SQL 复制 Slave设置
log_bin =mysql-bin
server_id = 129     // 直接用IP地址的最后8位
relay_log =/var/lib/mysql/mysql-relay-bin
log_slave_updates= 1
read_only = 1

2.3.4 从服务器启动复制

# mysql -uroot-p
// 设置如何连接主库
mysql> CHANGEMASTER TO MASTER_HOST='192.168.5.128',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='password',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=0;
// 启动复制
mysql> startslave;
// 查看复制状态
mysql> showslave status \G;
Slave_ IO_Running: Yes
Slave_ SQL_Running: Yes
Seconds_ Behind_Master: 0
// 查看主库的数据库是否已经复制过来
mysql> showdatabases;
mysql> use …;
mysql> showtables;
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿讲故事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 基础系统
    • 1.1系统信息
      • 1.2安装必须软件
        • 1.3 三台服务器信息
        • 2 数据库 MariaDB
          • 2.1数据库基础安装
            • 2.2防火墙启用数据库端口
              • 2.3MySQL配置主从复制
                • 2.3.1 所有服务器都创建复制账号
                • 2.3.2 主服务器配置
                • 2.3.3 从服务器配置
                • 2.3.4 从服务器启动复制
            相关产品与服务
            云数据库 SQL Server
            腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档