MYSQL 主从复制读写别离完成51CTO博客 - 娱乐之横扫全球

MYSQL 主从复制读写别离完成51CTO博客

2019年03月30日11时34分16秒 | 作者: 尔容 | 标签: 主从,效劳,状况 | 浏览: 365

 概述:

依据项目要求,咱们编写一个依据CentOS渠道的MYSQL主从布置手册。

为了减缩本文档体积和便利我们布置运用,将不供给操作截图,只供给需求输入的指令,便利我们仿制粘贴指令行。

 

Mysql装置预备:

测验机IP预备::

• 主效劳器Master: 192.168.1.136

• 从效劳器Slave : 192.168.1.137

测验机yum预备:

Yum地址:http://centos.ustc.edu.cn/centos/(依据网络状况挑选合适源地址)

Yum布置:

#cd /etc/yum.repos.d

#mv CentOS-Base.repo  CentOS-Base.repo.save

#wget http://centos.ustc.edu.cn/CentOS-Base.repo

#vi /etc/yum.repos.d/CentOS-Base.repo

把[centosplus] 中的 enabled=0 改为enabled=1

装置包预备:

• Mysql:http://221.1.222.15:82/down/mysql-5.1.55.tar.gz

 

Mysql主从装置:

装置mysql,引荐主从两台效劳器装置相同版别Mysql

#useradd mysql -s /sbin/nologin

#cd /usr/src

#wget http://221.1.222.15:82/down/mysql-5.1.55.tar.gz

#tar zxvf mysql-5.1.55.tar.gz

#cd mysql-5.1.55

#./configure prefix=/usr/local/mysql  localstatedir=/opt/data with-extra-charsets=utf8,gb2312,gbk with-pthread enable-thread-safe-client

注:装备进程拟定数据库文件的方位及额定字符集,能够依据状况挑选

#make

#make install

#cp support-files/my-large.cng /etc/my.cnf

#cd /usr/local/mysql

#chgrp –R mysql .

生成根本的库、表

#/usr/local/mysql/bin/mysql_install_db user=mysql

承认生成的库、表,并授权

# cd /opt/data

# pwd

/opt/data

# ll       //有必要生成相应的库、表

#chown –R mysql:mysql /opt/data

设置root暗码:

#/usr/local/mysql/bin/mysqladmin –uroot password “q1w2e3r4”

以上操作进程主、从效劳器均相同。

 

Mysql主从装备:

修正装备文件:

主效劳器Master:

#vi /etc/my.cnf

[mysqld]  
log-bin=mysql-bin  
server-id=1     //默许是1,坚持不变

  从效劳器Slave

    #vi /etc/my.cnf

[mysqld]  
log-bin=mysql-bin  
server-id=2    //默许是1,修正为大于等于2的数字,但不要太离谱的9999….

发动mysql效劳:

#/usr/local/mysql/bin/mysqld_safe –user=mysql& //这个动作主从效劳器相同

在主效劳器树立帐户并授权Slave:

#GRANT REPLICATION SLAVE ON *.* to root@192.168.1.137 identified by q1w2e3r4;//帐户主张运用非root帐号暗码,本指令行仅示例

查询主数据库Master的状况,并记载状况值:

mysql> show master status;

+++++

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+++++

| mysql-bin.000003 |     640  |              |                  |

+++++

1 row in set (0.00 sec)

注:履行完此过程后不要再操作主效劳器MYSQL,防止主效劳器状况值改变

装备从效劳器Slave:

Mysql>change master to master_host=‘192.168.1.136’,master_user=‘root’,master_password=’q1w2e3r4’,master_log_file=’ mysql-bin.000003’,master_log_pos=640;

注:此指令行帐户信息,与主效劳器授权帐号信息共同

发动从效劳器仿制功用:

Mysql>start slave;

查看从效劳器仿制功用状况:

mysql> show slave status\G

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.1.136  //主效劳器地址

                  Master_User: root         //授权帐户名,尽量防止运用root

                  Master_Port: 3306        //数据库端口,部分版别没有此行

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000003

          Read_Master_Log_Pos: 1203

               Relay_Log_File: localhost-relay-bin.000002

                Relay_Log_Pos: 251

        Relay_Master_Log_File: mysql-bin.000003

             Slave_IO_Running: Yes       //此状况有必要YES

            Slave_SQL_Running: Yes       //此状况有必要YES

注:Slave_IO及Slave_SQL进程有必要正常运转,即YES状况,不然都是过错的状况(如:其间一个NO均属过错)。

以上操作进程,主从效劳器装备完结。

 

主从效劳器测验:

主效劳器Mysql,树立数据库,并在这个库中建表刺进一条数据:

mysql> create database hichina_db;

mysql> use hichina_db;

mysql> create table hichina_tb(id int(3),name char(10));

mysql> insert into hichina_tb values (001,bobwu);

从效劳器Mysql查询:

mysql> show databases;

++

| Database           |

++

| information_schema |

| hichina_db         |  //我在这里

| mysql              |

| test               |

++

4 rows in set (0.00 sec)

mysql> use hichina_db;

Database changed

mysql> show tables;

++

| Tables_in_hichina_db |

++

| hichina_tb           |  //我在这里

++

1 row in set (0.00 sec)

mysql> select * from hichina_tb;

+++

| id   | name   |

+++

|    1 | bobwu  |   //我在这里

+++

1 row in set (0.00 sec)

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章