MySQL主从数据库配置总结

来源:互联网 发布:世界人工智能大会2018 编辑:程序博客网 时间:2024/06/18 02:52

MySQL主从数据库配置总结

一、      数据库msyql服务器centOS初始化。

1、例如:主、从服务器的IP分别是 192.168.1.225及192.168.1.226.

       2、分别在每一台linux上(root用户)安装mysql:

              (1)rpm –qa|grep mysql;  =>>检测mysql是否已经安装

              (2)yum –y install mysql mysql-server;              =>>安装msyql

              (3)mysqladmin –uroot password 123456; =>>初始化密码

二、检查主数据库配置文件/etc/my.cnf是否包含下面的内容,如果缺少需要添加,必须添加在[mysqld]下面。

序号

典型值

实际配置

含义

1  

skip-name-resolve

 

跳过域名反向解析,提高速度50%

2  

server-id=*

Eg:5

*必须为整数,且主从不能重复

3  

log-bin=mysql-bin

 

开启二进制日志







三、测试mysql配置主数据库配置文件后是否能正常启动。

       1、service mysqld stop;

       2、service msyqld start;

温馨提示:一般是可以正常启动的,若无法启动,请查看分析mysql日志文件/var/log/mysqld.log以解决问题,如果问题一直不能解决,则重新安装linux系统。

四、在主服务器上建立帐户并授权slave。

       1、mysql –uroot –p123456; =>>登录mysql

       2、grant replication slave on *.* to 'myuser'@'%' identified by 'mypwd';=>>创建用户,并授权。

       3、select host,user from mysql.user;=>>查询用户是否创建成功。

五、检查从数据库配置文件/etc/my.cnf是否包含下面的内容,如果缺少需要添加,必须添加在[mysqld]下面。

序号

典型值

实际配置

含义

1  

skip-name-resolve

 

跳过域名反向解析

2  

server-id=*

6

*必须为整数,不能和主数据库的server-id重复

3  

log-bin=mysql-bin

 

开启二进制日志

4  

relay_log = mysql-relay-bin

 

 

5  

#skip_slave_start

 

启动跳过从进程(默认注释)

6  

log_slave_updates = 1

 

 

7  

read_only

 

数据库只读

8  

replicate-ignore-db=information_schema

 

忽略information_schema

9  

replicate-ignore-db=horde_groupware

 

 

10 

replicate-ignore-db=kloxo

 

 

11 

replicate-ignore-db=mysql

 

 

12 

replicate-ignore-db=popuser

 

 

13 

replicate-ignore-db=roundcubemail

 

 

14 

replicate-ignore-db=vpopmail

 

 




















六、将主数据库服务器的记录加锁使其只读,防止其他人操作数据库。

       1、mysql –uroot –p123456; =>>登录mysql

       2、flush tables with read lock; =>>加锁

七、接着第六步,不要退出mysql,否则加锁失效;另外再开启一个SSH窗口查看主数据库的当前日志文件名和位置。

1、mysql –uroot –p123456; =>>登录mysql

2、show master status;   =>>查看主数据库运行信息,记录File和position的值,以备用。例如:

File             | Position | Binlog_Do_DB |Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

|  mysql-bin.000003 |      106

八、在主数据库服务器上将主数据库打包tar

       1、service mysqld stop;=>>停止数据库mysql

       2、cd /var/lib/;=>>切换到数据库data路径下

3、tar –cvf mysql.tar mysql;=>>打包msyql

4、scp msyql.tar root@192.168.1.226:/var/lib;=>>SSH上传到从服务器192.168.1.226的数据库data路名下。

5、service mysqld start;=>>启动主数据库mysql。

6、unlock tables;=>>登录主数据库mysql,解锁。

九、登录到从linux服务器192.168.1.226上操作。

       1、tar –xvf /var/lib/mysql.tar;=>>解压并覆盖当前mysql

       2、mysql –uroot –p123456; =>>登录mysql

       3、stop slave; =>>停止从服务。

       4、设置主数据服务器的信息。

Change master to master_host=’192.168.1.225’,master_user=’myuser’

master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=106;

       5、start slave; =>>启动从服务。

       6、show slave status\G;  =>>查看从数据库状态,记录Master_Log_File和Read_master_log_Pos的值。

十、登录主服务器192.168.1.225上操作。

       1、mysql –uroot –p123456;=>>登录mysql

       2、show master status; =>>查看主数据库运行的信息,例如:

       File             | Position | Binlog_Do_DB |Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

|  mysql-bin.000003 |      106

十一、对比第九步和第十步的File和Position的值是否一致。

       1、Master_Log_File与File的值是否一致。

       2、Read_Master_Log_Pos与Position的值是否一致。

温馨提示:

如果这两点的值都是一致,则主从配置成功,可以通过在主数据库中创建一个测试数据库test,然后在从数据库中是否出现test数据库,若出现在主从数据库同步配置成功。

主从复制原理图:

原理图

过程:
  
Mysql的复制(replication)是一个异步的复制,从一个Mysql instace(称之为Master)复制到另一个Mysql instance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在SlaveSql进程和IO进程),另外一个进程在 MasterIO进程)上。

1 0
原创粉丝点击