mariadb主从同步

Posted

tags:

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

本文是搭建的mariadb-10.0.17版本的下载地址:https://downloads.mariadb.org/interstitial/mariadb-10.0.17/source/mariadb-10.0.17.tar.gz/from/http%3A//ftp.hosteurope.de/mirror/archive.mariadb.org/?serve

master:192.168.1.166

slave:192.168.1.165

1.创建mysql普通账号,设置数据库存储数据的目录,设置权限

[[email protected] ~]# groupadd -r mysql

[[email protected]~]# useradd -r -g mysql -s /sbin/nologin mysql

[[email protected]~]# mkdir -p /data/mydata

[[email protected]~]# chown -R mysql:mysql /data

 

2.安装数据库依赖软件包

[[email protected]~]# yum install -y gcc gcc-c++ make cmake ncurses ncurses libxml2 libxml2-developenssl-devel bison bison-devel ncurses-devel

 

3.上传mariadb包,解压,编译安装。

[[email protected] ~]# tar zxvf mariadb-10.0.17.tar.gz

[[email protected] mariadb-10.0.17]# cmake-DCMAKE_INSTALL_PREFIX=/app/mysql -DMYSQL_DATADIR=/data/mydata-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system-DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci

[[email protected] mariadb-10.0.17]# make&& make install

4.复制数据库启动脚本到/etc/init.d/mysqld目录下,修改/etc/my.cnf配置文件。

[[email protected]]# cd /app/mysql/

[[email protected]]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[[email protected]]# chmod +x /etc/rc.d/init.d/mysqld

[[email protected]]# cp support-files/my-large.cnf /etc/my.cnf


5.初始化数据库,启动数据库

[[email protected]]# scripts/mysql_install_db --user=mysql --datadir=/app/mysql/data

[[email protected]]#mkdir log

[[email protected]]#service mysqld start

6.数据库的系统变量

[[email protected] mysql]# vim/etc/profile.d/mysqld.sh

export PATH=$PATH:/usr/local/mysql/bin

[[email protected] mysql]# source/etc/profile.d/mysqld.sh

[[email protected] mysql]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 148

Server version: 5.5.5-10.0.17-MariaDB-logSource distribution

 

Copyright (c) 2000, 2013, Oracle and/orits affiliates. All rights reserved.

 

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

 

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘to clear the current input statement.

 

mysql>



7.master192.168.1.166里/etc/my.cnf 如下

[client]

port = 3306

socket = /tmp/mysql.sock

[mysqld]

port = 3306

socket = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 256M

max_allowed_packet = 4690M

table_open_cache = 16

sort_buffer_size = 64M

read_buffer_size = 32M

read_rnd_buffer_size = 256M

myisam_sort_buffer_size = 1024M

thread_cache_size = 8

query_cache_size= 128M

log-error=/app/mysql/log/alert.log

slow_query_log_file=/app/mysql/log/slow.log

general_log_file=/app/mysql/log/general.log

datadir = /app/mysql/data

log-bin=mysql-bin

binlog_format=mixed

server-id = 1

[mysqldump]

quick

max_allowed_packet = 4690M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 128M

sort_buffer_size = 128M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

 

8.slave192.168.1.165里/etc/my.cnf

port = 3306

socket = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 256M

max_allowed_packet = 1M

table_open_cache = 256

sort_buffer_size = 1M

read_buffer_size = 1M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size= 16M

log-error=/app/mysql/log/alert.log

slow_query_log_file=/app/mysql/log/slow.log

general_log_file=/app/mysql/log/general.log

thread_concurrency = 8

datadir = /data/mydata

log-bin=mysql-bin

binlog_format=mixed

server-id = 2

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 128M

sort_buffer_size = 128M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout



9.在master数据库上授权    mysql

mysql> GRANT ALL PRIVILEGES ON *.* TO‘root‘@‘192.168.1.% IDENTIFIED BY ‘passwd‘ WITH GRANT OPTION;

mysql>flush privileges;

mysql> show master status;

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

| File             | Position | Binlog_Do_DB |Binlog_Ignore_DB |

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

| mysql-bin.000008 |     2890 |              |                  |

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

1 row in set (0.00 sec)



10.在从slave mysql

mysql>stop slave;

mysql> change master tomaster_host=‘192.168.1.166‘,master_user=‘root‘,master_password=‘passwd‘,master_log_file=‘mysql-bin.000008‘,master_log_pos=2890,master_connect_retry=5,master_heartbeat_period=2,Master_Port=3306;

mysql>flush privileges;

mysql>start slave;

mysql>show slave status\G

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

               Slave_IO_State: Waiting formaster to send event

                  Master_Host: 192.168.1.166

                  Master_User: root

                  Master_Port: 3306

                Connect_Retry: 5

              Master_Log_File: mysql-bin.000008

         Read_Master_Log_Pos: 2890

               Relay_Log_File:zsxyweb3-relay-bin.000002

                Relay_Log_Pos: 1198

       Relay_Master_Log_File: mysql-bin.000008

             Slave_IO_Running: Yes

           Slave_SQL_Running: Yes

              Replicate_Do_DB:

         Replicate_Ignore_DB:

          Replicate_Do_Table:

      Replicate_Ignore_Table:

      Replicate_Wild_Do_Table:

 Replicate_Wild_Ignore_Table:

                   Last_Errno: 0

                   Last_Error:

                 Skip_Counter: 0

         Exec_Master_Log_Pos: 2890

              Relay_Log_Space: 1498

              Until_Condition: None

               Until_Log_File:

                Until_Log_Pos: 0

          Master_SSL_Allowed: No

          Master_SSL_CA_File:

          Master_SSL_CA_Path:

              Master_SSL_Cert:

           Master_SSL_Cipher:

               Master_SSL_Key:

       Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error:

               Last_SQL_Errno: 0

               Last_SQL_Error:

 Replicate_Ignore_Server_Ids:

             Master_Server_Id: 1

               Master_SSL_Crl:

          Master_SSL_Crlpath:

                   Using_Gtid: No

                  Gtid_IO_Pos:

1 row in set (0.00 sec)



注:主要看看Slave_IO_Running: Yes Slave_SQL_Running: Yes  是否为yes


本文出自 “小看博客论坛” 博客,转载请与作者联系!

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

mariadb集群配置(主从和多主)

mariadb的主从同步和读写分离

mariadb的主从同步和读写分离

mariadb主从同步

MariaDB主从同步

MySQL(Mariadb)主从同步基础