100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > mysql5.6下主主复制的配置实现

mysql5.6下主主复制的配置实现

时间:2020-10-08 00:23:50

相关推荐

mysql5.6下主主复制的配置实现

两台虚拟机192.168.183.131和192.168.183.132,装完系统之后直接把所有开发包都装上

下载软件包mysql-5.6.10.tar.gz,cmake-2.8.10.2.tar.gz(从5.5开始mysql使用cmake来进行编译了而不是之前的configure)

mysql的编译安装

1.首先安装cmake

[root@localhost~]#tar-xvfcmake-2.8.10.2.tar.gz[root@localhost~]#cdcmake-2.8.10.2[root@localhostcmake-2.8.10.2]#./configure[root@localhostcmake-2.8.10.2]#make;makeinstall

2.安装mysql

1)创建mysql用户和组

[root@localhost~]#groupaddmysql[root@localhost~]#useradd-gmysqlmysql[root@localhost~]#mkdir/usr/local/mysql[root@localhost~]#chown-Rmysql.mysql/usr/local/mysql

2)解压缩mysql,进行编译安装

[root@localhost~]#tar-xvfmysql-5.6.10.tar.gz[root@localhost~]#cdmysql-5.6.10[root@localhost~]#cmake\-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DMYSQL_DATADIR=/user/local/mysql/data\-DSYSCONFDIR=/etc\-DEXTRA_CHARSETS=all\-DDEFAULT_CHARSET=utf8\-DDEFAULT_COLLATION=utf8_general_ci\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_ARCHIVE_STORAGE_ENGINE=1\-DWITH_BLACKHOLE_STORAGE_ENGINE=1\-DWITH_FEDERATED_STORAGE_ENGINE=1\-DWITH_PARTITION_STORAGE_ENGINE=1\-DWITH_PERFSCHEMA_STORAGE_ENGINE=1\-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock\-DMYSQL_TCP_PORT=3306\-DWITH_DEBUG=0\-DENABLED_LOCAL_INFILE=1[root@localhost~]#make;makeinstall[root@localhost~]#cd/usr/local/mysql/[root@localhostmysql]#chown-Rroot.mysql*[root@localhostmysql]#chown-Rmysql.mysqldata/

3)创建主配置文件和启动脚本

[root@localhostdata]#cp/usr/local/mysql/support-files/my-f/etc/f[root@localhost~]#vi/etc/fbasedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport=3306server_id=131socket=/var/run/mysqld/mysqld.sockuser=mysqllog-error=/var/log/mysqld.log[root@localhost~]#cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld[root@localhostdata]#vi/etc/init.d/mysqldbasedir=/usr/local/mysqldatadir=/usr/local/mysql/datamysqld_pid_file_path=/var/run/mysqld/mysqld.pid

4)把mysql的相关文件录入系统

配置mysql命令的搜索路径

打开/etc/profile文件找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC在这句之前添加export PATH=$PATH:/usr/local/mysql/bin 就会对所有用户有效并且开机自动生效了

告知系统mysql库文件的存放位置

编辑/etc/ld.so.conf.d/mysql.conf 添加/usr/local/mysql/lib

ldconfig -v |grep mysql

ldconfig会按照系统库文件的搜索路径把系统中所有的库文件重新加载一遍

告知系统mysql头文件的位置

ln -sv /usr/local/mysql/include /usr/include/mysql

配置mysql的man手册页

vi /etc/man.config添加 MANPATH=/usr/local/mysql/man

5)初始化数据库并且启动

[root@localhostscripts]#pwd/usr/local/mysql/scripts[root@localhostscripts]#mysql_install_db--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data--user=mysql[root@localhost~]#chkconfig--addmysqld[root@localhost~]#servicemysqldstart

6)配置第二台mysql,直接复制过去

[root@localhost~]#scp-r/etc/f192.168.183.132:/etc[root@localhost~]#scp-r/etc/init.d/mysqld192.168.183.132:/etc/init.d[root@localhost~]#scp-r/usr/local/mysql192.168.183.132:/usr/local[root@localhost~]#scp-r/etc/ld.so.conf.d/mysql.conf192.168.183.132:/etc/ld.so.conf.d/[root@localhost~]#groupaddmysql[root@localhost~]#useradd-gmysqlmysql[root@localhost~]#chown-Rmysql.mysql/usr/local/mysql[root@localhost~]#cd/usr/local/mysql[root@localhost~]#chown-Rroot.mysql*[root@localhost~]#chown-Rmysql.mysqldata/

在132上面把/etc/f配置文件中的server-id改成132,然后重复进行第四部

主从复制的配置

1.把131配置成主库,把132配置成从库

1)在131上面打开二进制日志

修改配置文件/etc/f,添加log-bin = mylog.000001

重启mysql

2)然后建一个用户,授权可以读取自己的二进制日志

mysql>grantreplicationslaveon*.*toslave@'192.168.183.132'identifiedby'mapabc';QueryOK,0rowsaffected(0.01sec)mysql>flushprivileges;QueryOK,0rowsaffected(0.00sec)

3)从库上面登录测试

[root@localhost~]#mysql-uslave-p-h192.168.183.131Enterpassword:Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||test|+--------------------+2rowsinset(0.00sec)

4)主库上面查看当前的POS号

mysql>showmasterstatus;+--------------+----------+--------------+------------------+-------------------+|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|Executed_Gtid_Set|+--------------+----------+--------------+------------------+-------------------+|mylog.000001|412||||+--------------+----------+--------------+------------------+-------------------+1rowinset(0.00sec)

5)在从库上面配置

mysql>CHANGEMASTERTO->MASTER_HOST='192.168.183.131',->MASTER_USER='slave',->MASTER_PASSWORD='mapabc',->MASTER_LOG_FILE='mysql.000001',->MASTER_LOG_POS=412;QueryOK,0rowsaffected,2warnings(0.08sec)

6)查看从库状态并启动从库

mysql>showslavestatus\G;***************************1.row***************************Slave_IO_State:Master_Host:192.168.183.131Master_User:slaveMaster_Port:3306Connect_Retry:60Master_Log_File:mysql.000001Read_Master_Log_Pos:412Relay_Log_File:mysqld-relay-bin.000001Relay_Log_Pos:4Relay_Master_Log_File:mysql.000001Slave_IO_Running:NoSlave_SQL_Running:Nomysql>startslave;mysql>showslavestatus\G;***************************1.row***************************Slave_IO_State:WaitingformastertosendeventMaster_Host:192.168.183.131Master_User:slaveMaster_Port:3306Connect_Retry:60Master_Log_File:mylog.000001Read_Master_Log_Pos:412Relay_Log_File:relay-bin.000002Relay_Log_Pos:279Relay_Master_Log_File:mylog.000001Slave_IO_Running:YesSlave_SQL_Running:Yes

7)测试

主库131创建数据库

mysql>createdatabasedb5;QueryOK,1rowaffected(0.00sec)mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||db5||mysql||performance_schema||test|+--------------------+5rowsinset(0.00sec)

从库上面查看

mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||db5||mysql||performance_schema||test|+--------------------+5rowsinset(0.01sec)

已经同步过来了。

把132配置成主库,把131配置成132的从库

1)对于主从复制来说,主库可以接受读写,从库只能读不能写,一旦从库有写入操作,造成主从库数据不一致,复制立马就断开了,我们就在131上面建立一个授权帐号让它同步到132上面

mysql>grantreplicationslaveon*.*toslave@'192.168.183.131'identifiedby'mapabc';QueryOK,0rowsaffected(0.00sec)

2)打开132的二进制日志,把132配置成主库,然后重启132的mysql

3)在131上面配置

mysql>CHANGEMASTERTO->MASTER_HOST='192.168.183.132',->MASTER_USER='slave',->MASTER_PASSWORD='mapabc',->MASTER_LOG_FILE='mylog.000001',->MASTER_LOG_POS=120;QueryOK,0rowsaffected,2warnings(0.12sec)mysql>startslave;QueryOK,0rowsaffected(0.01sec)

4)测试

在132上面创建数据库

mysql>createdatabasedb4;QueryOK,1rowaffected(0.01sec)

在131上面查看,看到已经同步过来了

mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||db4||db5||mysql||performance_schema||test|+--------------------+6rowsinset(0.00sec)

至此,主主同步配置完成。

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