部署和调优 2.8 mysql主从配置-2

配置主从准备工作

在主上创建一个测试的数据库

首先登录主的mysql,或者用绝对路径 /usr/local/mysql/bin/mysql

mysql
> create database db1;
> quit

复制mysql库

 mysqldump -S /tmp/mysql.sock mysql > 123.sql

拷贝mysql库

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

登录主mysql,查看表。 已经拷被过来了。

mysql
> use db1;
> show tables;
> quit

编制配置文件

vim /etc/my.cnf
server-id       = 1
# Uncomment the following if you want to log updates
log-bin=bin-log
改为
server-id       = 1
# Uncomment the following if you want to log updates
log-bin=wangshaojun
binlog-ignore-db=mysql
 

服务器id 和其他不一样就可以

log-bin 可以自定义

binlog-do-db=db1,db2  列表白名单

binlog-ignore-db=mysql  列表黑名单

重启mysql

/etc/init.d/mysqld restart

查看新的binlog

ls /data/mysql

wangshaojun.000001    wangshaojun.index
wangshaojun.err      wangshaojun.pid

授权

登录主mysql,创建用户

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

授予 replication 权限 用户名repl 密码 123123 

刷新

> flush privileges;

锁死表的读

> flush tables with read lock;

读master

 show master status;

File wangshaojun.000001

Position 331

编辑从mysql 的配置文件

vim /usr/local/mysql_slave/my.cnf
server-id       = 1
改为
server-id       = 111

创建mysql库,并拷贝和主mysql一样的表

mysql -S /tmp/mysql_slave.sock -e "create database db1"
mysql -S /tmp/mysql_slave.sock  db1 < 123.sql

登录从mysql

mysql -S /tmp/mysql_slave.sock

先把运行的停掉,

> slave stop;
> change master to master_host='127.0.0.1', master_port=3306, master_user='repl', master_password='123123', master_log_file='wangshaojun.000001', master_log_pos=331;

开启

> slave start;

查看配置是否成功

show slave statusG;

Slave_IO_Running: No
Slave_SQL_Running: Yes

是否是两个yes

先把mysql停掉

> slave stop;
> quit

重启

 /etc/init.d/mysqldslave restart

登录从mysql

mysql -S /tmp/mysql_slave.sock
>  slave start;
> show slave statusG;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

因为没有重启从的配置文件,所以失败。

原文地址:https://www.cnblogs.com/wangshaojun/p/5074699.html