MYSQL 主从复制读写分离实现
概述:
根据项目要求,我们编写一个基于CentOS平台的MYSQL主从部署手册。
为了缩减本文档体积和方便大家部署使用,将不提供操作截图,只提供需要输入的命令,方便大家复制粘贴命令行。
Mysql安装准备:
测试机IP准备::
主服务器Master: 192.168.1.136
从服务器Slave : 192.168.1.137
测试机yum准备:
Yum地址:http://centos.ustc.edu.cn/centos/(根据网络状况选择适合源地址)
Yum部署:
#cd /etc/yum.repos.d
#mv CentOS-Base.repoCentOS-Base.repo.save
#wget http://centos.ustc.edu.cn/CentOS-Base.repo
#vi /etc/yum.repos.d/CentOS-Base.repo
把[centosplus] 中的 enabled=0 改为enabled=1
安装包准备:
Mysql:http://221.1.222.15:82/down/mysql-5.1.55.tar.gz
Mysql主从安装:
安装mysql,推荐主从两台服务器安装相同版本Mysql
#useradd mysql -s /sbin/nologin
#cd /usr/src
#wget http://221.1.222.15:82/down/mysql-5.1.55.tar.gz
#tar zxvf mysql-5.1.55.tar.gz
#cd mysql-5.1.55
#./configure --prefix=/usr/local/mysql--localstatedir=/opt/data --with-extra-charsets=utf8,gb2312,gbk --with-pthread --enable-thread-safe-client
注:配置过程制定数据库文件的位置及额外字符集,可以根据情况选择
#make
#make install
#cp support-files/my-large.cng /etc/my.cnf
#cd /usr/local/mysql
#chgrp –R mysql .
生成基本的库、表
#/usr/local/mysql/bin/mysql_install_db --user=mysql
确认生成的库、表,并授权
# cd /opt/data
# pwd
/opt/data
# ll//务必生成相应的库、表
#chown –R mysql:mysql /opt/data
设置root密码:
#/usr/local/mysql/bin/mysqladmin –uroot password “q1w2e3r4”
以上操作过程主、从服务器均相同。
Mysql主从配置:
修改配置文件:
主服务器Master:
#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=1//默认是1,保持不变
从服务器Slave
#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=2//默认是1,修改为大于等于2的数字,但不要太离谱的9999….
启动mysql服务:
#/usr/local/mysql/bin/mysqld_safe –user=mysql&//这个动作主从服务器相同
在主服务器建立帐户并授权Slave:
#GRANT REPLICATION SLAVE ON *.* to 'root'@'192.168.1.137' identified by 'q1w2e3r4';//帐户建议使用非root帐号密码,本命令行仅示例
查询主数据库Master的状态,并记录状态值:
mysql> show master status;
+------------------+----------+--------------+------------------+
| File| Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |640 |||
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
配置从服务器Slave:
Mysql>change master to master_host=‘192.168.1.136’,master_user=‘root’,master_password=’q1w2e3r4’,master_log_file=’ mysql-bin.000003’,master_log_pos=640;
注:此命令行帐户信息,与主服务器授权帐号信息一致
启动从服务器复制功能:
Mysql>start slave;
检查从服务器复制功能状态:
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.136//主服务器地址
Master_User: root//授权帐户名,尽量避免使用root
Master_Port: 3306//数据库端口,部分版本没有此行
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 1203
Relay_Log_File: localhost-relay-bin.000002
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes//此状态必须YES
Slave_SQL_Running: Yes//此状态必须YES
注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成。
主从服务器测试:
主服务器Mysql,建立数据库,并在这个库中建表插入一条数据:
mysql> create database hichina_db;
mysql> use hichina_db;
mysql> create table hichina_tb(id int(3),name char(10));
mysql> insert into hichina_tb values (001,'bobwu');
从服务器Mysql查询:
mysql> show databases;
+--------------------+
| Database|
+--------------------+
| information_schema |
| hichina_db| //我在这里
| mysql|
| test|
+--------------------+
4 rows in set (0.00 sec)
mysql> use hichina_db;
Database changed
mysql> show tables;
+----------------------+
| Tables_in_hichina_db |
+----------------------+
| hichina_tb|//我在这里
+----------------------+
1 row in set (0.00 sec)
mysql> select * from hichina_tb;
+------+--------+
| id| name|
+------+--------+
|1 | bobwu |//我在这里
+------+--------+
1 row in set (0.00 sec)
转载于:https://blog.51cto.com/whantt/1357708
MYSQL 主从复制读写分离实现相关推荐
- mysql proxy 主从_【MYSQL知识必知必会】MySQL主从复制读写分离(基于mysql-proxy实现)...
MySQL主从复制读写分离(基于mysql-proxy实现) http://mirror.bit.edu.cn/mysql/Downloads/MySQL-Proxy/mysql-proxy-0.8. ...
- java读取mysql配置文件_一文读懂 MySQL 主从复制读写分离
文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 前言 在很多项目,特别是互联网项目,在使用MySQL时都会采用主从复 ...
- mysql拉荐_荐 一步一步教你MySQL主从复制读写分离
本次我们通过docker搭建环境 虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐 一台机器上可以运行多个Docker容器 Docker容器之间相互独立,有独立ip,互不冲突 Docker使用步 ...
- mysql主从复制 读写分离
转载地址:http://blog.51cto.com/mailfile/1272623 MySQL是开源的关系型数据库系统. 复制(Replication)是从一台MySQL数据库服务器(主服务器ma ...
- mysql主从复制读写分离
一.环境 1.主服务器操作系统:Mac OS MySQL版本:5.1.6 2.从服务器操作系统:Centos 6.5 MySQL版本:5.1.6 二.实战 2.1MySQL主从复制,读写分离示意图 M ...
- mysql主从复制读写分离_MySQL主从复制与读写分离的工作原理
一.mysql主从复制的工作原理 1.mysq支持的复制类型 1)基于语句的复制.在服务器上执行sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制,执行效率高. 2)基于行的复制 ...
- Mysql主从复制+读写分离
** <shell脚本监控mysql主从同步并通过邮箱报警>https://blog.csdn.net/qq_30217227/article/details/115058447?utm_ ...
- mysql主从复制于读写分离_MySQL主从复制读写分离
mysql主从复制读写分离 master和slave时间同步 [[email protected]~]#ntpdate 172.18.0.1 [[email protected]~]#vim /etc ...
- mysql5.7 读写分离_mysql5.7的主从复制+读写分离
Mysql主从复制与读写分离 目录: 1.mysql主从复制工作原理 2.mysql读写分离原理,使用Amoeba中间代理层实现读写分离 3.在vmware中实现mysql主从复制+读写分离 一.My ...
最新文章
- Uva 10048 - Audiophobia (Floyd变形)
- 服务器损坏文件怎么办,服务器文件系统损坏的处理
- 深入理解PHP中赋值与引用
- 第二章 PX4-Pixhawk-RCS启动文件解析
- 2019蓝桥杯省赛---java---B---4(数的分解)
- aspen变压吸附塔_空压机科普:吸附式干燥机的结构和原理
- Pull Request的正确打开方式(如何在GitHub上贡献开源项目)
- 【Emit基础】如何发射foreach代码?
- 全库检索包含某个值的表名和所在的列.
- winfroms更换皮肤
- AI 女神是如何炼成的?
- 计算机设备操作与讲解,第五章计算机操作系统设备管理讲解.ppt
- Dropout原理介绍
- atitit.attilax.com产品 软件项目通用框架类库总结
- 员工工号怎么编码_员工编号管理制度
- Linux版本加载过程异响,完美解决Ubuntu Linux关机异响[SATA硬盘]
- NDK 入门与进阶—第一个NDK程序(一)
- 秋招总结:遇到的手撕代码题
- 550+超强动态文字动画AE模板(标题,字幕,标注,对话)等视频制作元素
- x64 汇编跟 rax , eax ,ax ,ah ,al 的关系