同一台机器mysql主从_MySQL主从配置实现(同一台主机)

MySQL主从(同一台主机)//

1.安装配置MySQL

参考之前步骤搭建MySQL服务

为了做实验方便,我们在同一台机器上配置两个MySQL服务(跑两个端口)

cd /usr/local/

cp -rv mysql mysql_2

cd mysql_2

初始化mysql_2 : ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2

拷贝配置文件:cp /etc/my.cnf ./my.cnf

修改配置文件相关参数: vim my.cnf #更改port以及socket

启动:/usr/local/mysql_2/bin/mysqld_safe --defaults-file=/usr/local/mysql_2/my.cnf --user=mysql &

若开机启动,需要加入到/etc/rc.local中

2.配置主从准备工作

设定mysql_2,为主端口3307,mysql为从端口3306

在主上创建测试库 : create database db1;

然后导出主的mysql库数据然后导入给db1

mysqldump -uroot -S /tmp/mysql2.sock mysql > 123.sql;

mysql -uroot -S /tmp/mysql2.sock db1 < 123.sql

3.配置主(master)

vim /usr/local/mysql_2/my.cnf #修改或者添加:

server-id=1

log-bin=mysql-bin

两个可选参数(2选1)

binlog-do-db=db1,db2 #需要同步的库

binlog-ignore-db=db1,db2 #忽略不同步的库

修改配置文件后,重启mysql_2

pid=`ps aux|grep mysql2.sock|grep -v grep|awk '{print $2}'`;kill $pid; cd /usr/local/mysql_2/bin/; ./mysqld_safe --defaults-file=../my.cnf --user=mysqld &

设置root密码:mysqladmin -uroot -S /tmp/mysql2.sock password '123456'

grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123123';

flush tables with read lock;

show master statusl#一定要记住前两列的内容,待会会用到

4.设置从(slave)

vim /etc/my.cnf #修改或增加

server-id=2 #这个数值不能和主一样

可选参数:replicate-do-db=db1,db2

replicate-ignore-db=db1,db2 #意义同主的两个可选参数

service mysqld restart

拷贝主的db1库数据到从: mysqldump -uroot -S /tmp/mysql2.sock -p123456 db1 > db1.sql;

mysql -uroot -p -e"create database db1";mysql -uroot -p db1 < db1.sql

mysql -uroot -p #登陆从的MySQL

slave stop;

change master to master_host='127.0.0.1',master_port=3307,master_user='repl',master_password='123123',master_log_file='mysql-bin.000006',master_log_pos=474952;

slave start;

主上:mysql -uroot -S /tmp/mysql2.sock -p123456 -e "unlock tables"

从上查看从的状态:show slave statusG;

5.测试主从

主上清空db1库的db表:use db1 ; select count(*) from db;truncate table db;

进入salve,查看db1库db表:use db1;select count(*)from db;

主上删除表db: drop table db;

从上看db表不存在了

建议:MySQL主从机制比较脆弱,需要谨慎操作。如果重启master,务必要先把slave停掉,也就是说需要在salve上去执行,salve stop 命令,然后再去重启master的MySQL服务,否则很可能就会中断了。当重启完后,还需要把salve给开启 salve start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值