mysql数据库主从复制

1.部署主服务器(主写)
注:部署之前检查是否与真机时间点一致,如不一致需要同步时间点,以免影响主从同步

必做操作
yum -y install ntp //安装时间同步软件

vim /etc/ntp.conf //编辑配置文件

添加参数
server 127.127.1.0 //指定本地作为NTP服务器

fudge 127.127.1.0 stratum 8 //指定本地优先级大于网络同步NTP

/etc/init.d/ntpd start //启动服务

chkconfig --level 35 ntpd on //开机自启

ntpdate 192.168.1.10 //即可使用命令来同步服务器时间IP为主服务器IP

date -s “2018-11-27 09:20” //如发现同步后时间点不一样,需手动更改

hwclock -w //将同步时间写入到bash中,永久生效
注:hwclock --systohc localtime //如不好使,命令以本地时间为基准(默认为utc时间)

crontab -e //指定计划任务,避免时间误差

2.搭建mysql(主)
yum -y install cmake lrzsz //安装专用编译工具,传送包

1)tar zxvf /root/mysql-5.5.22.tar.gz -C /usr/src/ //解压到指定目录

2)cd /usr/src/mysql-5.5.22/ //切换到指定目录

3)cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc/
//指定安装位置及加载字符集支持及配置文件目录

4)make &&make install //编译并安装

1)cp /usr/src/mysql-5.5.22/support-files/my-medium.cnf /etc/my.cnf //拷贝配置文件

2)cp /usr/src/mysql-5.5.22/support-files/mysql.server /etc/init.d/mysqld //拷贝启动脚本

3)chmod +x /etc/init.d/mysqld //赋予启动脚本执行权限

4)chkconfig --add mysqld && chkconfig --level 35 mysqld on //加入系统服务并开机自启

5)echo “export PATH=$PATH:/usr/local/mysql/bin” >>/etc/profile && source /etc/profile
//启动命令加入环境变量中并立即刷新

6)useradd -M -s /sbin/nologin mysql //创建mysql运行用户

7)chown -R mysql:mysql /usr/local/mysql //更改数据库目录属主属组权限

8)/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
//初始化数据库,指定初始化库位置,数据存放位置,运行用户

9)vim /etc/my.cnf //编辑配置文件
50 log-slave-updates=true //开启允许从服务器同步数据
58 server-id=10 //定义标识符,与从服务器不可重复(范围:2的32次方)

10)/etc/init.d/mysqld start //启动服务

11)mysql -u root -p //进去数据库
mysql> grant replication slave on . to ‘slave’@‘192.168.1.%’ identified by ‘123’; //创建主从数据同步用户,专用于同步数据
mysql> flush privileges; //重新加载权限表
mysql> show master status; //查看日志文件名及position号,等待从服务器同步
在这里插入图片描述3.部署从服务器(同步)

配置主从同步
vim /etc/my.cnf //编辑主配置文件
50 relay-log=relay-log-bin //指定从服务器日志文件名=后面名称自定义
51 relay-log-index=slave-relay-bin.index //指定从服务器索引文件名=后面名称自定义
59 server-id=20 //定义标识符,与主从服务器不可重复(范围:2的32次方)
/etc/init.d/mysqld start //启动数据库

mysql -u root -p //登录数据库
mysql>change master to master_host=‘192.168.1.10’,master_user=‘slave’,master_password=‘123’,master_log_file=‘mysql-bin.000003’,master_log_pos=332; //指定同步所需要的选项
详解:change master to //标准格式
:master_host=‘192.168.1.30’ //指定主服务器地址
:master_user=‘slave’,master_password=‘123’ //同步的用户名及密码(主服务创建好的)
:master_log_file=‘mysql-bin.000003’,master_log_pos=332;
//指定主服务器日志文件名及position号,必须与主服务器相同,不然无法同步
mysql>start slave; //开启同步
mysql>show slave status\G; //以竖形结构查看从服务器同步状态
:slave_IO_Running: Yes
: slave_SQL_Running:Yes //检查两个线程是否为yes同步状态

注:可部署两个及多个从服务器,配置及效果相同!!!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值