maridb 主從複製簡單搭建

環境介紹:html

   archlinux-2015-11-15版本mysql

   mariadblinux

   navicatsql

具體步驟:數據庫

  1.編輯my.cnf,本環境的路徑爲/etc/mysql/my.cnfvim

   ---ps 建議安裝vim,使用起來方便舒服緩存

   找到mysqld組下面,安全

  

 這個是master ,主庫服務器

 另外二進制的路徑文件須要建立一下,並賦予權限併發

#mkdir -p /data/binlogs

#chown -R mysql:mysql /data/binlogs


  2.一樣須要修改從庫的配置文件

  

3.進入主庫

 

 建立能夠複製的用戶權限給從庫

 進入從庫,連接到主庫

表示數據庫已經連上。

4、主從同步配置過程總結

一、主服務器

   1)修改server-id

   2)啓用二進制日誌

   3)建立有複製權限的帳號

二、從服務器

   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

相關文章
相關標籤/搜索