热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux下MySQL互为主从配置

Linux系统环境:CentOS6.5master1:192.168.100.204master2:192.168.100.205mysql版本:mysql-5.6.19注:mysql的5.5以下的版本

Linux系统环境:CentOS 6.5master1:192.168.100.204master2:192.168.100.205mysql版本:mysql-5.6.19注:mysql的5.5以下的版本

Linux系统环境:CentOS 6.5
master1:192.168.100.204
master2:192.168.100.205
mysql版本:mysql-5.6.19
注:mysql的5.5以下的版本和5.5以上的版本配置方法不一样

以下两个节点安装
1:防火墙打开相应端口
# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
# /etc/rc.d/init.d/iptables save

2:安装相关依赖包
# yum -y install gcc gcc-c++ ncurses ncurses-devel openssl openssl-devel cmake perl lsof bison

3:删除自带的mysql
# rpm -qa|grep mysql
# rpm -e --allmatches --nodeps mysql-libs-5.1.71-1.el6.x86_64

4:创建相关目录
# mkdir /linuxidc/soft
# mkdir -p /linuxidc/mysql/data/

5:创建mysql用户
# /usr/sbin/groupadd mysql
# /usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql
# chown -R mysql:mysql /linuxidc/mysql/

6:安装mysql
# cd /linuxidc/soft
# tar -zxvf mysql-5.6.19.tar.gz
# cd mysql-5.6.19
# cmake -DCMAKE_INSTALL_PREFIX=/linuxidc/server/mysql -DMYSQL_DATADIR=/linuxidc/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DSYSCOnFDIR=/etc/ -DWITH_SSL=yes -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=on
# make && make install

7:修改相关目录权限并创建软连接
# chmod +w /linuxidc/server/mysql
# chown -R mysql:mysql /linuxidc/server/mysql/
# ln -s /linuxidc/server/mysql/lib/lib* /usr/lib/
# ln -s /linuxidc/server/mysql/bin/mysql /usr/bin

8:修改配置文件
# cp /linuxidc/server/mysql/support-files/my-default.cnf /etc/my.cnf
# vi /etc/my.cnf

[mysqld]
character-set-server = utf8
default-storage-engine = MyISAM
basedir = /linuxidc/server/mysql
datadir = /linuxidc/mysql/data
log-error = /linuxidc/mysql/mysql_error.log
pid-file = /linuxidc/mysql/mysql.pid
max_allowed_packet = 32M
explicit_defaults_for_timestamp = true

9:安装mysql数据库
# /linuxidc/server/mysql/scripts/mysql_install_db --basedir=/linuxidc/server/mysql --datadir=/linuxidc/mysql/data --user=mysql

10:设置mysql开机自动启动服务
# cp /linuxidc/server/mysql/support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on

11:修改mysqld文件并启动mysql
# vi /etc/init.d/mysqld

#修改mysqld文件中的下面两项
basedir=/linuxidc/server/mysql
datadir=/linuxidc/mysql/data

# service mysqld start

12:创建需同步的数据库
# mysql -uroot -p
mysql> create database linuxidc;
mysql> GRANT ALL PRIVILEGES ON linuxidc.* TO doiido@"%" IDENTIFIED BY 'linuxidc123';
mysql> exit

--------------------以下在服务器master1上操作
修改配置文件
# vi /etc/my.cnf

[mysqld]
#默认是1,master和slave不能相同即可
server-id=1
log-bin=bin.log
port=3306
binlog-do-db =linuxidc
#要复制的数据库
replicate-do-db =linuxidc

重启mysql
# service mysqld restart

建立用于同步的账户
# mysql -uroot -p
mysql> grant replication slave on *.* to 'dodo'@'192.168.100.205' identified by 'jjjjjj';

查看File对应值,并记录下来
mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| bin.000001 | 120 | linuxidc | | |
+------------------+----------+--------------+------------------+-------------------+

mysql> exit

--------------------以下在服务器master2上操作
2.修改slave上的配置文件my.cnf
# vi /etc/my.cnf

[mysqld]
server-id=2
port=3306
log-bin=bin.log
binlog-do-db =linuxidc
replicate-do-db =linuxidc

重启mysql
# service mysqld restart

在从服务器上建立相应的数据库
# mysql -uroot -p

将192.168.100.204设置为自己的主服务器
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.100.204',MASTER_PORT=3306,
MASTER_USER='dodo',
MASTER_PASSWORD='jjjjjj',
MASTER_LOG_FILE='bin.000001',
MASTER_LOG_POS=120;

启动从服务器复制功能
mysql> start slave;

mysql> show slave status\G;

...................
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...................

注:

#Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件
#Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。
上面两个必须都是yes,其中一个NO均属错误

mysql> exit

至此,单向主从配置完毕,如需要互为主从则配置如下

推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
author-avatar
沉稳之固_300
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有