系统环境:
master:192.168.59.130 Ubuntu12.04 MySql 5.5.29
slave:192.168.59.131 Ubuntu12.04 MySql 5.5.29
一、安装Mysql
1.下载mysql-5.5.29-debian6.0-i686.deb安装包,并下载libaio-dev_0.3.109-3_i386.deb,libaio1_0.3.109-3_i386.deb两个依赖库
2.安装deb包
sudo dpkg -i mysql-5.5.29-debian6.0-i686.deb
sudo dpkg -i libaio1_0.3.109-3_i386.deb
sudo dpkg -i libaio-dev_0.3.109-3_i386.deb
MySQL server 被初始化在 /opt/mysql/server-5.5
3.配置MySql
新建用户组和用户
groupadd mysql
useradd -r -g mysql mysql
创建mysql目录链接并修改data权限
ln -s /opt/mysql/server-5.5 /usr/local/mysql
sudo mkdir /usr/local/mysql/data
sudo chown -R mysql. /usr/local/mysql/data
初始化数据库
sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
将mysqld的启动shell程序放到系统服务目录下
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
将 mysql 的配置文件放到系统配置/etc目录下,mysql在全局作用范围要使用该配置文件
sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
4.启动MySql
service mysql start
更改 mysql root 管理员密码
sudo /usr/local/mysql/bin/mysqladmin -u root password [你希望设置的密码]
测试是否可以登录 mysql
sudo /usr/local/mysql/bin/mysql -u root -p [可选数据库名称]
二、配置主从复制
1.master服务器(192.168.59.130)上的操作
启动mysql服务
service mysql start
通过命令行登录管理MySQL服务器
/usr/local/mysql/bin/mysql -uroot -p
授权给从数据库服务器192.168.59.131
mysql> GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.59.131' identified by ‘password’;
查询主数据库状态
Mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 644 | | |
+------------------+----------+--------------+------------------+
记录下 FILE 及 Position 的值,在后面进行从服务器操作的时候需要用到。
2.slave服务器(192.168.59.131)上的操作
修改从服务器的配置文件/etc/my.cnf
将 server-id = 1修改为 server-id = 10,并确保这个ID没有被别的MySQL服务所使用。
启动mysql服务
service mysql start
通过命令行登录管理MySQL服务器
/usr/local/mysql/bin/mysql -uroot -p
执行同步SQL语句
mysql> change master to
master_host=’192.168.59.130’,
master_user=’rep1’,
master_password=’password’,
master_log_file=’mysql-bin.000002’,
master_log_pos=644;
正确执行后启动Slave同步进程
mysql> start slave;
主从同步检查
mysql> show slave status\G
其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
3.验证主从复制效果
主服务器上的操作
在主服务器上创建数据库first_db
mysql> create database first_db;
Query Ok, 1 row affected (0.01 sec)
在主服务器上创建表first_tb
mysql> create table first_tb(id int(3),name char(10));
Query Ok, 1 row affected (0.00 sec)
在主服务器上的表first_tb中插入记录
mysql> insert into first_tb values (001,’myself’);
Query Ok, 1 row affected (0.00 sec)
在从服务器上查看
mysql> show databases;
=============================
+--------------------+
| Database |
+--------------------+
| information_schema |
| first_db |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.01 sec)
=============================
数据库first_db已经自动生成
mysql> use first_db
Database chaged
mysql> show tables;
=============================
+--------------------+
| Tables_in_first_db |
+--------------------+
| first_tb |
+--------------------+
1 row in set (0.02 sec)
=============================
数据库表first_tb也已经自动创建
mysql> select * from first_tb;
=============================
+------+------+
| id | name |
+------+------+
| 1 | myself |
+------+------+
1 rows in set (0.00 sec)
=============================
记录也已经存在
由此,整个MySQL主从复制的过程就完成了。
相关推荐
MySQL主从复制+lvs与keepalived实现负载高可用
摘要:本文首先介绍了MySQL主从复制架构的优势,包括实现读写分离减轻主库压力、提供容灾冗余、负载均衡提升并发能力、分离报表分析等。然后详细举例阐述了如何通过主从配置实现读写分离、容灾切换、从库负载均衡等高...
mysql主从复制+lvs与keepalived实现负载高可用
MySQL主从复制部署实施文档
如何实现MySQL的主从复制和半同步复制对普通用户来说可能比较难懂,但只要您接触了MYSQL,就没理由不去学。
mycat在mysql主从复制基础上实现读写分离,详细配置,包括server.xml,scheme配置等
mysql 主从复制读写分离实现
.基于Mycat的MySQL主从复制读写分离docker实现.
3、支持 1台主机一键远程部署Mysql主从复制集群+(一主两从)。 4、支持 2台主机一键远程部署Mysql主从复制集群(一主一从)。 5、支持 3台主机一键远程部署Mysql主从复制集群(一主两从)。 6、支持一键部署所有...
Mysql主从复制中读写分离实现,文档明细,请仔细查询!
一、Mysql5.7的版本优势; 二、数据库集群的概述; 三、Mysql数据库的主从复制; 四、Mysql数据库的读写分离; 五、案例:搭建Mysql数据库集群(主从复制--二进制日志文件...七、案例:实现Mysql主从复制+读写分离;
mysql主从复制 并实现读写分离 配置 实例
springmvc mybatis 整合druid多数据源配置 实现简单的读写分离,windows上mysql主从复制
使用keepalived实现对mysql主从复制的主备自动切换.docx
实现mysql数据库中的主从复制,可以实现数据库的冗余。
MySQL高可用扩展集群应用之Mysql主从复制的实现.pdf 学习资料 复习资料 教学资源
mysql主(称master)从(称slave)复制的原理: 1、 master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events) 2、 slave将master的binary log...
经本人测试已经成功实现
LNH_MySQL 03-mysql主从复制介绍及分布式数据库架构实现介绍.mp4
本文实践了用Docker方式来实现基于binlog的MySql主从复制。关于MySql主从复制的原理将在下一篇中进行讲解。 一些数据的本地存储目录结构 mysql >tree -L 2 . ├── data │ ├── master01 │ └── slave01 ├...