首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql 读写分离之主从配置

mysql 读写分离之主从配置

作者头像
一笠风雨任生平
发布2019-08-02 11:06:11
6380
发布2019-08-02 11:06:11
举报
文章被收录于专栏:服务化进程服务化进程

#mysql主从复制 ###下载mysql安装包

###安装master mysql

  • . 检查当前机器是否已经安装mysql

yum repolist enabled | grep "mysql.-community."

  • . 解压mysql压缩文件

tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

-rw-r--r--. 1 root root  603985920 Jun 28 16:05 mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
-rw-r--r--. 1 7155 31415  26760484 Apr  9 01:06 mysql-community-client-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415    549512 Apr  9 01:06 mysql-community-common-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   4221784 Apr  9 01:06 mysql-community-devel-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  24343708 Apr  9 01:06 mysql-community-embedded-compat-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   2349488 Apr  9 01:06 mysql-community-libs-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   2156516 Apr  9 01:06 mysql-community-libs-compat-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 119957152 Apr  9 01:06 mysql-community-minimal-debuginfo-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 357581528 Apr  9 01:07 mysql-community-server-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  20562556 Apr  9 01:07 mysql-community-server-minimal-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  45494324 Apr  9 01:07 mysql-community-test-8.0.11-1.el7.x86_64.rpm
-rw-r--r--. 1 root root     631340 May  9  2014 Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
  • . 安装mysql

yum install -y mysql-community-common-8.0.11-1.el7.x86_64.rpm yum install -y mysql-community-libs-8.0.11-1.el7.x86_64.rpm yum install -y mysql-community-client-8.0.11-1.el7.x86_64.rpm yum install -y mysql-community-server-8.0.11-1.el7.x86_64.rpm

  • . 修改root密码

查找初始密码 grep 'password' /var/log/mysqld.log |head -n 1 mysql -u root -p

登录成功购执行下面脚本修改root密码

alter user user() identified by "new password";

###安装slave mysql 同上步骤

###在主节点上创建一个同步账号

1)每个从数据库会使用一个MySQL账号来连接主数据库,所以我们要在主数据库里创建一个账号,并且该账号要授予 REPLICATION SLAVE 权限,你可以为每个从数据库分别创建账号,当然也可以用同一个!)

2)你可以用原来的账号不一定要新创账号,但你应该注意,这个账号和密码会被明文存放在master.info文件中,因此建议单独创一个只拥有相关权限的账号,以减少对其它账号的危害!)

3)创建新账号使用“CREATE USER”,给账号授权使用“GRANT”命令,如果你仅仅为了主从复制创建账号,只需要授予REPLICATION SLAVE权限。

CREATE USER 'repl'@'192.168.0.%' IDENTIFIED BY 'repl123';

GRANT REPLICATION SLAVE ON . TO 'repl'@'192.168.0.%';

###配置主数据库

  • 要主数据库,你必须要启用二进制日志(binary logging),并且创建一个唯一的Server ID,这步骤可能要重启MySQL。
  • 主服务器发送变更记录到从服务器依赖的是二进制日志,如果没启用二进制日志,复制操作不能实现(主库复制到从库)。
  • 复制组中的每台服务器都要配置唯一的Server ID,取值范围是1到(232)−1,你自己决定取值。
  • 配置二进制日志和Server ID,你需要关闭MySQL和编辑my.cnf或者my.ini文件,在 [mysqld] 节点下添加配置。
  • 下面是启用二进制日志,日志文件名以“mysql-bin”作为前缀,Server ID配置为1,如下:

[mysqld] log-bin=mysql-bin server-id=1

重启后 查看主服务器状态,mysql> show master status;, 如图:

###配置从数据库

  • 从服务器配置

从服务器,同理,要分配一个唯一的Server ID,需要关闭MySQL,修改好后再重启,如下:

[mysqld] server-id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-bin

  • 配置连接主服务器的信息

stop slave; CHANGE MASTER TO MASTER_HOST='192.168.1.233', MASTER_USER='repl', MASTER_PASSWORD='repl123',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=313; start slave;

  • 查看从服务器状态

show slave status \G;

如果图中两个指标为yes就成功了,现在可以试着创建数据库或者创建表来测试

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档