header-bg.jpg
Linux虚拟主机中的MySQL分区与主从复制
发表于 2017-02-15 11:35
|
分类于 Linux
|
评论次数 0
|
阅读次数 1461

attachment/2017/03/10/10051489118465.png

--------------->MySQL主从复制<---------------

关闭防火墙 service iptables stop

关闭selinux vi /etc/selinux/config->SELINUX=disabled

关闭selinux防火墙 setenforce 0

->>>>>>>>>>>>>>>>>在主服务器上处理用户的写入请求

->>>>>>>>>>>>>>>在从服务器上对主服务器拉取数据(进行查询)
将rmp安装文件通过ftp上传到服务器
1.安装
rpm -ivh MySQL-server-5.5.38-1.rhel5.i386.rpm
rpm -ivh MySQL-client-5.5.38-1.rhel5.i386.rpm
如遇报错/usr/bin/perl is needed by MySQL-server-5.5.38-1.rhel5.i386
yum install -y perl
如遇报错版本冲突进行卸载
yum remove -y mysql-libs-5.1.71-1.el6.i686
2.复制配置文件
cp /usr/share/mysql/my-large.cnf /etc/my.cnf
3.开启Mysql
service mysql start
->>>>>>>>>>>>>>>操作主服务器
4.修改配置项
vi /etc/my.cnf
1)启动二进制文件(已有) log-bin=mysql-bin
2)服务器ID(已有) server-id=1
3)(新增)定义哪个数据库作为主从复制的数据库
binlog-do-db = cong

5.保存并重启MySQL,登录MySQL

service mysql restart

mysql -uroot -p
6.创建从服务器账号并授权数据同步权限
grant replication slave on *.* to 'slave'@'192.168.21.52' identified by 'admin888';

详细说明:
replication slave 授权为从服务器复制操作
on *.* 为所有库中的所有表
'slave'@'192.168.21.52'slave 为从服务器登录主服务器的mysql账号 ip为从服务器的ip
'admin888' 为从服务mysql密码

7.刷新授权表 FLUSH PRIVILEGES;

查看账号添加是否成功

select user,host from mysql.user;

在从服务器测试主服务器IP
mysql -uslave -padmin888 -h192.168.21.51
如果能登录证明链接成功,未成功注意关闭防火墙、关闭selinux!

8.创建cong数据库
create database cong charset utf8;
9.创建news表
create table news(nid int);
insert into news set nid=1;

select * from news;

10.锁定主服务器所有表
FLUSH TABLES WITH READ LOCK;

11.退出MySQL并备份数据库文件

quit;

mysqldump -uroot -p cong>cong.sql

查看是否有cong.sql文件

12.复制数据库文件至从服务器

scp cong.sql root@192.168.21.52:/root

->>>>>>>>>>>>>>>操作从服务器

13.开启mysql服务,登录mysql

service mysql start

mysql -uroot -p
14.创建cong库
create database cong charset utf8;
//quit
15.导入数据库文件至从服务器
mysql -uroot -p cong
检查数据是否导出
16.修改从服务器配置项并重启mysql服务
vi /etc/my.cnf
server-id=2
server mysql restart
->>>>>>>>>>>>>>>操作主服务器
17.链接mysql
//查看主服务器状态
show master status\G
->>>>>>>>>>>>>>>操作从服务器
18.同步binlog日志(mysql中进行)
change master to master_host='192.168.21.52',master_user='slave',master_password='admin888',master_log_file='mysql-bin.000004',master_log_pos=738;
注意:master_log_file='mysql-bin.000004',master_log_pos=738;此处的填写内容需要与主服务器一致。
19.查看从服务器状态
show slave status\G
20.开启从服务器同步后再次查看从服务器状态
start slave;
21.向主服务器news表新增一条数据再看从服务器是否生成
22.查看主服务器状态show processlist\G;

发布评论
还没有评论,快来抢沙发吧!