900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Linux下配置MySQL主从复制

Linux下配置MySQL主从复制

时间:2020-07-21 10:24:22

相关推荐

Linux下配置MySQL主从复制

数据库|mysql教程

MySQL主从复制,Linux下配置MySQL主从复制,数据

数据库-mysql教程

物流网站免费源码,ubuntu恢复图像界面,如何监测爬虫项目,php biny,SEO最困难lzw

MySQL的主从复制是自己一直想学习的一个实战经历,因为Oracle中的主从复制也是需要不少的配置选项,相比来说感觉重量级一些(数据

战歌网站源码下载,vscode文件查找查不到,ubuntu个人模式,启动tomcat.exe,python 爬虫 图,php7.0手册下载,昆明求推荐好的seo平台,图片在线编辑网站源码,招聘系统模板lzw

生日蛋糕设计软件源码,vscode 插件安装不了,ubuntu集显,如何映射tomcat端口,爬虫 推送,php统计点击次数,邛崃seo优化费用,有源码注册网站,手机web设计模板lzw

MySQL的主从复制是自己一直想学习的一个实战经历,因为Oracle中的主从复制也是需要不少的配置选项,相比来说感觉重量级一些(数据量也重量级)。

今天试了一下,在本地的一台Linux虚拟机上简单模拟了一把,发现还是蛮有趣的。因为也是外行,所以为了快速达到效果,自己看了一个很早的视频,结果实际操作的时候,有好几个配置参数都已经没有了。看来还是需要静下心来慢慢做,在Windows上配置了一下,因为各种各样的原因,就是没有配置出来,个人还是喜欢Linux环境下弄,今天加了把劲总算有点苗头了。

大体的步骤有几个,

创建两个操作系统用户,,加入dba组。

在master库所在用户上安装MySQL

在slave库所在的用户上安装MySQL

配置主从复制关系

启动slave检查

首先来看看原理图,估计这个图都被共享得无处不在了。可以从图中看到主从复制的基本原理就是使用binlog来完成的。这个binlog(二进制日志)可以很灵活地解析出对应的sql语句来,基本上就是在slave端做一个类似回放的工作了。不过这个过程相对持续时间很短,数据量小,事务小的情况下,完全感觉不到延时。

我们来看看怎么做吧。因为使用MySQL自己想尽量不取默认值,就没有选择rpm包安装和yum安装等方式,直接从网站上得到了Lib包。直接解压就能运行的。

对于默认的端口3306自己就指定为1550,日志路径等配置都是通过手动完成,也算能够感受到MySQL在后台处理的时候那些是必要的。

安装的过程很容易。

在glibc多的解压文件的路径,我配置了一个MYSQL_BASE的变量,通过手工命令来安装。

[mysql@oel1 mysql-advanced-5.6.23-linux-glibc2.5-i686]$ ll

total 288

-rw-r–r– 1 mysql dba 120908 Apr 7 16:11 a.log

drwxr-xr-x 2 mysql dba 4096 Apr 5 15:41 bin

drwxr-xr-x 2 mysql dba 4096 Apr 5 15:41 docs

drwxr-xr-x 3 mysql dba 4096 Apr 5 15:41 include

-rw-r–r– 1 mysql dba 102509 Jan 29 21:11 INSTALL-BINARY

drwxr-xr-x 3 mysql dba 4096 Apr 5 15:42 lib

-rw-r–r– 1 mysql dba 2729 Jan 29 21:11 LICENSE.mysql

drwxr-xr-x 4 mysql dba 4096 Apr 5 15:41 man

-rw-r–r– 1 mysql dba 1029 Apr 5 15:49 f

-rw-r–r– 1 mysql dba 1029 Apr 14 18:56 my-f

drwxr-xr-x 10 mysql dba 4096 Apr 5 15:41 mysql-test

-rw-r–r– 1 mysql dba 1449 Jan 29 21:11 README

drwxr-xr-x 2 mysql dba 4096 Apr 5 15:41 scripts

drwxr-xr-x 28 mysql dba 4096 Apr 5 15:42 share

drwxr-xr-x 4 mysql dba 4096 Apr 5 15:41 sql-bench

drwxr-xr-x 2 mysql dba 4096 Apr 5 15:45 support-files

配置的profile变量如下:

PATH=$PATH:$HOME/bin

export MYSQL_BASE=/u02/mysql/mysql-advanced-5.6.23-linux-glibc2.5-i686

export MYSQL_DATA=/u02/mysql/data

export PATH=$PATH:$MYSQL_BASE/bin:$MYSQL_DATA

然后运行命令安装,其实也就是初始化工作了,指定的端口是1550

$MYSQL_BASE/scripts/mysql_install_db –user=mysql –basedir=$MYSQL_BASE –datadir=$MYSQL_DATA –port=1550

然后我们启动mysql就可以了。启动的命令相对选项要多一些,我们不适用.cnf文件来配置了,纯手工方式来看看。

$MYSQL_BASE/bin/mysqld_safe –user=mysql –basedir=$MYSQL_BASE –datadir=$MYSQL_DATA –port=1550 –log-bin=mysql_oel1_bin –log-error=/u02/mysql/log/log_error.log –long_query_time=5 –slow-query-log=true –slow-query-log-file=/u02/mysql/log/slow_qeury.log –socket=/u02/mysql/mysqld_mst.sock –server-id=1 &

这样在master端就搞定了。

slave端的工作也是类似,或者如果偷懒自己也可以直接把解压包拷贝过去。如果安装初始化的时候就需要重新制定端口了,我们定位1551吧。

先不配置slave,看能不能启动。

$MYSQL_BASE/bin/mysqld_safe –user=mysql –basedir=$MYSQL_BASE –datadir=$MYSQL_DATA –port=1551 –log-bin=mysql_oel1_slv1_bin –log-error=/u02/mysqlslv1/log/log_error.log –long_query_time=5 –slow-query-log=true –slow-query-log-file=/u02/mysqlslv1/log/slow_qeury.log –socket=/u02/mysqlslv1/mysql_slv1.sock

启动之后,验证无误,我们就可以开始配置了。

主从配置相对来说还是很简单的,如果过多的规则要求,还是很容易的。

在主库我们需要配置一个用户作为复制所用。

mysql> grant replication slave on *.* to ‘slaveuser’@’192.168.27.130’ identified by ‘slaveuser’;

Query OK, 0 rows affected (0.00 sec)

这个新建用户在user中就有所体现了。

mysql> select host,user,password from user;

+—————-+———–+——————————————-+

| host| user| password |

+—————-+———–+——————————————-+

| localhost| root| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

| oel1| root| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

| 127.0.0.1| root||

| ::1 | root||

| % | test||

| 192.168.27.130 | slaveuser | *7890E850D4C4DF85267DEC80307D6CCAEC115B2F |

+—————-+———–+——————————————-+

6 rows in set (0.00 sec)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。