maridb 主从复制简单搭建

环境介绍:

   archlinux-2015-11-15版本

   mariadb

   navicat

具体步骤:

  1.编辑my.cnf,本环境的路径为/etc/mysql/my.cnf

   ---ps 建议安装vim,使用起来方便舒服

   找到mysqld组下面,

  maridb 主从复制简单搭建_第1张图片

 这个是master ,主库

 另外二进制的路径文件需要创建一下,并赋予权限

#mkdir -p /data/binlogs

#chown -R mysql:mysql /data/binlogs


  2.同样需要修改从库的配置文件

  maridb 主从复制简单搭建_第2张图片

3.进入主库

 

 创建可以复制的用户权限给从库

maridb 主从复制简单搭建_第3张图片

 进入从库,链接到主库

maridb 主从复制简单搭建_第4张图片

maridb 主从复制简单搭建_第5张图片

表示数据库已经连上。

四、主从同步配置过程总结

1、主服务器

   1)修改server-id

   2)启用二进制日志

   3)创建有复制权限的账号

2、从服务器

   1)修改server-id

   2)启用中继日志

   3)连接主服务器

   4)启程复制线程   

# /usr/share/mysql/my-huge.cnf 

# MariaDB 配置文件 示例模板(huge,巨型).

#

# 本文件适用于专用数据库服务器, 内存为 1G-2G

# 机器上主要只运行 MariaDB的大型系统 ,

#

# MariaDB 程序会根据运行的操作系统平台查找一系列的配置文件,

# 你可以将此模板配置文件拷贝到对应的位置(并重命名),

# 要查看有哪些配置文件会被读取到,执行:

# 'my_print_defaults --help' 并查看

# Default options are read from the following files in the given order: 

# (--> 程序会依次读取列出的配置文件.) 这部分下面列出的文件(路径)列表.

# 更多信息请参考: http://dev.mysql.com/doc/mysql/en/option-files.html

#

# 在本文件的各个小节中,你可以使用该程序支持的所有选项.

# 如果想要了解程序是否支持某个参数,

# 可以使用  "--help" 选项来启动该程序,查看帮助信息.


# 下面一小节的配置选项由本地的所有 MySQL 客户端读取,作为默认配置

[client]

#password = your_password

port = 3306

socket = /var/lib/mysql/mysql.sock


# 下面的各个小节,由各种应用程序来读取解析


# MySQL server 配置信息

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

skip-external-locking

key_buffer_size = 384M

max_allowed_packet = 1M

table_open_cache = 512

sort_buffer_size = 2M

read_buffer_size = 2M

read_rnd_buffer_size = 8M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size = 32M

# 并发线程数,建议为CPU核心数乘以2:  CPU's*2 for thread_concurrency

thread_concurrency = 8


# 可以指定一个专用磁盘的路径来作为临时目录,例如 SSD

#tmpdir = /tmp/


# 配置此参数则不启动  TCP/IP 端口 监听. 

# 如果所有的处理程序都只在同一台机器上连接 mysqld, 这是一个很安全的做法,

# 所有同 mysqld 的交互只能通过Unix sockets 或命名管道(named pipes)完成.

# 注意,使用此选项而没有开启Windows上的命名管道(named pipes),

# (通过 "enable-named-pipe" 配置项) 将会导致 mysqld 不可用!

#skip-networking


# 主服务器配置选项 Replication Master Server (default)

# 在主从复制时,需要依赖二进制日志

log-bin=mysql-bin


# 在整个主从复制集群中要求是 1 到 2^32 - 1 之间的唯一ID, 否则或者失败,或者大量出错日志信息.

# 如果没有设置 master-host,则默认值是 1

# 但如果省略了,则(master)不生效

server-id = 1


# 从服务器配置选项 Replication Slave (需要将 master 部分注释掉,才能使用这部分)

#

# 要将服务器配置为从属服务器(replication slave),

# 有如下两种方案可供选择 :

#

# 1) 通过 CHANGE MASTER TO 命令 (在用户手册中有详细的描述) -

#    语法如下:

#

#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,

#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;

#

#    你可以将 <host>, <user>, <password> 替换为单引号括起来的字符串,

#    将 <port> 替换为 master 的端口号 (默认是 3306).

#

#    一个示例如下所示:

#

#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,

#    MASTER_USER='joe', MASTER_PASSWORD='secret';

#

# 或者:

#

# 2) 设置下面的参数. 然而, 一旦你选择了这种方式,

#    首次启动主从复制时 (即便启动复制失败, 如错误的 master-password 密码,

#    导致 slave 连接不上等), slave 将会创建一个名为 master.info 的文件,

#    如果以后再修改本配置文件(xxx.cnf)中下面的这些参数, 则将被忽略,

#    并继续使用 master.info 文件的内容,

#    除非关闭 slave 服务器, 然后删除文件 master.info 并重新启动 slaver server.

#    出于这个原因, 你应该不系统修改下面的相关参数参数(带 <> 的注释部分),

#    而是使用 CHANGE MASTER TO (上面的方案1)

#

# 在整个主从复制集群中要求是 2 到 2^32 - 1 之间的唯一ID, 

# 否则或者失败,或者大量出错日志信息.

# 如果设置了 master-host,则默认值是 2

# 但如果省略了,则不会成为 slave 

#server-id       = 2

#

# 此slave 需要连接的 master. - required

#master-host     =   <hostname>

#

# slave连接到 master 认证时需要的 username

# - 用户名是必须的(也可以在连接时指定)

#master-user     =   <username>

#

# slave连接到 master 认证时需要的 password

# - 密码是必须的(也可以在连接时指定)

#master-password =   <password>

#

# master 监听的端口号

# 可选 - 默认是 3306

#master-port     =  <port>

#

# 开启二进制日志, 对于slave从服务器不是必须的,但推荐开启

#log-bin=mysql-bin

#

# 二进制日志格式 —— 推荐 mixed

#binlog_format=mixed


# 如果只使用 InnoDB 表, 请取消下列选项的注释

#innodb_data_home_dir = /var/lib/mysql

#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend

#innodb_log_group_home_dir = /var/lib/mysql

# 如果只使用 InnoDB,可以设置 .._buffer_pool_size 为物理内存的 50 - 80 %

# 谨防内存使用设置得太高

#innodb_buffer_pool_size = 384M

# 附加缓存池大小

#innodb_additional_mem_pool_size = 20M

# 设置 .._log_file_size 为  buffer pool size 的 25 % 左右

#innodb_log_file_size = 100M

# 日志缓存的大小,不要设置太大,1秒钟刷新一次

#innodb_log_buffer_size = 8M

# 默认1,事务提交就刷新日志到硬盘;

# 设为2,刷新到操作系统缓存,但性能提高很多,设为 0 则可能丢事务.

#innodb_flush_log_at_trx_commit = 1

# 表死锁的超时释放时间,单位秒

#innodb_lock_wait_timeout = 50


[mysqldump]

# 快速导出到输出流/硬盘,不在内存中缓存

quick

# 最大数据包限制

max_allowed_packet = 16M


[mysql]

no-auto-rehash

# 如果对 SQL不熟悉,可以将下面的注释符去掉,拒绝无where的不安全操作.

#safe-updates


[myisamchk]

key_buffer_size = 256M

sort_buffer_size = 256M

read_buffer = 2M

write_buffer = 2M


[mysqlhotcopy]

interactive-timeout




你可能感兴趣的:(maridb 主从复制简单搭建)