2.8-mysql主从配置-2

主从mysql启动以后,我们来做一些配置。假设3306为主,3307为从


登陆mysql命令和参数

/usr/local/mysql/bin/mysql

登陆不同的mysql参数,可以IP也可以是sock

    mysql -S /tmp/mysql.sock     sock登陆主

    mysql -h127.0.0.1 -P3306     IP和端口登陆主

    

    mysql -S /tmp/mysql2.sock    sock登陆从

    mysql -h127.0.0.1 -P3307     IP和端口登陆从

默认不加参数,为登陆/etc/my.cnf的mysql为主


测试:

1.登陆主,并创建数据库

/usr/local/mysql/bin/mysql

create database db1;

为了测试方便,复制一份mysql的库过来

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

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

拷贝一份库过来后,登陆mysql

use db1;    切换库

show tables; 查看库包含的文件

发现db1中多了许多文件


2.编辑主配置文集

vim /etc/my.cnf

打开server-id       = 1   主和从ID不能一样

    log-bin=mysql-bin     =后面名称可自定义wyp

有时会在log-bin=mysql-bin下插入一行,来指定同步的库,如:

    binlog-do-db=db1,db2,db3

或者是指定不去同步的库,其它的同步。黑名单性质。如:

    binlog-ignore-db=db1

保存退出

重启mysql服务

/etc/init.d/mysqld restart

此时在/data/mysql/会生成几个以wyp开头的文件,这就是它的binlog。


mysql重启后,在做一些授权相关,用以同步操作。

登陆mysql

/usr/local/mysql/bin/mysql

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

创建并授权用户repl密码hd792310,专门用来传输binlog。只给与replication权限

flush privileges;              刷新一下权限

flush tables with read lock;   全局表的锁定,只能读.全局解锁unlock tables;

show master status;            读取一个binlog相关的数据,等会要用到。


3.编辑从配置文件

vim /usr/local/mysql2/my.cnf

修改server-id       = 111        确保和主ID不同

有时也在下面追加一些其他功能,和主的指定同步文件类似。如:

replicate-do-db=db1,db2 或者 replicate-ignore-db=db1

重新启动mysql从服务,因为改变了配置文件

/etc/init.d/mysql2 restart


在从上也创建一个库db1

/usr/local/mysql2/bin/mysql -S /tmp/mysql2.sock -e "create database db1"

把123.sql也导入从库中

/usr/local/mysql/bin/mysql -S /tmp/mysql2.sock db1 < 123.sql

注:想实现主从的库同步,首先主从库要先一致


接下来是关键的部分。首先登陆从mysql

/usr/local/mysql/bin/mysql -S /tmp/mysql2.sock

slave stop ;          先停掉,一会开启。

change master to master_host='127.0.0.1', master_port=3306, master_user='repl', master_password='hd792310', master_log_file='wyp.00001', master_log_pos=106;

指定主的host,端口默认3306,可以省略,用户、密码、上次在主上show master status;时查看的两个信息。

注意:如3306和106纯数字的不需要引号,否则报错。


最后一步

slave start;    启动从


此时我们可以看看从的库

show slave status\G;

看主从是否真正的成功,查看这两行是否有2个YES

Slave_IO_Running:YES

Slave_SQL_Running:YES





你可能感兴趣的:(2.8-mysql主从配置-2)