mysql主从配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从配置相关的知识,希望对你有一定的参考价值。

一:mysql主从配置环境

在同一台服务器中建立mysql主从

mysql-5.1.72-linux-i686-glibc23.tar.gz

二:搭建步骤

1、下载:cd /usr/local/src ;  wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72-linux-i686-glibc23.tar.gz

2、解压:tar zxvf   mysql-5.1.40-linux-i686-icc-glibc23.tar.gz;  

 移动重命名:mv mysql-5.1.40-linux-i686-icc-glibc23   ../mysql ; cp -r ../mysql ../mysql2

  cd /usr/local/mysql/

3、复制配制文件及启动脚本:

 cp ./support-files/my-small.cnf /etc/my.cnf ;  cp /etc/my.cnf  /usr/local/mysql2/

 cp ./support-files/mysql.server /etc/init.d/mysqld ; cp /etc/init.d/mysqld  /etc/init.d/mysqld2

4、mysql 数据存放目录:  mkdir -p /data/mysql;mkdir -p /data/mysql2

新建mysql用户:useradd -s /sbin/nologin mysql

更改目录权限:chown -R mysql:mysql /data/mysql ; chown -R mysql:mysql /data/mysql2

5、修改配置文件、启动脚本

  主mysql    vim /etc/init.d/mysqld   修改 basedir  datadir 

  从mysql    vim /usr/local/mysql2/my.cnf  ; 修改port  socket  server-id(与主不同)

                   vim /etc/init.d/mysqld2  修改 basedir  datadir conf

6、mysql安装

主mysql  cd /usr/local/mysql/; ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

从mysql  cd /usr/local/mysql2/; ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2   

7、启动主mysql:/etc/init.d/mysqld start

     修改主mysql pw : /usr/local/mysql/bin/mysqladmin -uroot password ‘1‘

     新建DB:/usr/local/mysql/bin/mysql -uroot -p1 -e ‘create database db1‘

     将mysql数据库备份:/usr/local/mysql/bin/mysqldump -uroot -p1 mysql > mysql.sql

     导入db1库中:/usr/local/mysql/bin/mysql -uroot -p1 db1 < mysql.sql

8、修改主mysql配置 vim /etc/my.cnf  新增log-bin=mysql-bin(自定义)   binlog-do-db=mysql,db1 ,重启

      

9、赋用户同步权限 grant replication slave on *.* to ‘wql‘@‘127.0.0.1‘ identified by ‘wql‘;  flush privileges;

10、从mysql新建db1 ,导入mysql.sql 入db1

/usr/local/mysql2/bin/mysqladmin -uroot password ‘2‘ -S /tmp/mysql2.sock

/usr/local/mysql2/bin/mysql -uroot -p2 -S /tmp/mysql2.sock -e ‘create database db1‘

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

11、修改从mysql配置 vim /usr/local/my.cnf log-bin=mysql-bin(自定义)   replicate-do-db=mysql,db1 ,重启

12、进入主mysql,锁表,查看状态;

flush tables with read lock;

show master status;

进入从mysql

slave stop;  

change master to master_host=‘127.0.0.1‘, master_port=3306, master_user=‘wql‘, master_password=‘wql‘, master_log_file=‘mysql-bin.000002‘, master_log_pos=106;

slave start;

show slave status;

13、测试效果,重启主从mysql

进入主mysql的db1数据库中,删除一table后,进从mysql查看,此table是否存在;是不存在,则主从配置成功,如仍在,则主从配置不成功。

三:问题

报以下错误:

1、[[email protected] /]# service mysqld start

Starting MySQL. ERROR! Manager of pid-file quit without updating file.

在主mysql中加入了

log-bin=mysql-bin  

binlog-do-db=database1,database2 或 binlog-ignore-db=database1,database2两项导致出错

最主要的原因在于mysql未安装,未执行./script/mysql-install-db --user=mysql --datadir=/data/mysql


2、配置好后,主从一直无法同步,主要是在配置从上未按下面配置好

主mysql:

log-bin=mysql-bin  

binlog-do-db=database1,database2 或 binlog-ignore-db=database1,database2

重启 /etc/init.d/mysqld restart

从mysql:

log-bin=mysql-bin  

replication-do-db=database1,database2 或 replication-ignore-db=database1,database2

重启 /etc/init.d/mysqld2 restart



以上是关于mysql主从配置的主要内容,如果未能解决你的问题,请参考以下文章

mysql主从配置

Mysql主从配置

8.31 MySQL主从配置准备工作配置主配置从测试主从同步

MySQL传统主从配置

Redis主从复制的配置过程

MySQL的主从介绍配置主配置从测试主从同步