久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何安裝mysql

194次閱讀
沒有評論

共計 7716 個字符,預計需要花費 20 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下如何安裝 mysql-mmm,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

安裝 mysql-mmm

1)安裝 epel

相關文檔參見:http://fedoraproject.org/wiki/EPEL

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

2) monitor 軟件安裝

 [root@localhost ~]# yum install ndash;y mysql-mmm-monitor-*

包如下:

[root@localhost ~]# rpm -qa|grep mysql

mysql-mmm-monitor-2.2.1-1.el5

mysql-mmm-2.2.1-1.el5

mysql-5.0.77-4.el5_5.4

3)所在機器安裝(包括 master,slave)

[root@localhost ~]# yum install ndash;y -mmm-agent*

包如下:

[root@localhost ~]# rpm -qa|grep mysql

mysql-test-5.0.77-4.el5_5.4

mysql-mmm-agent-2.2.1-1.el5

mysql-5.0.77-4.el5_5.4

mysql-server-5.0.77-4.el5_5.4

mysql-devel-5.0.77-4.el5_5.4

mysql-bench-5.0.77-4.el5_5.4

mysql-mmm-2.2.1-1.el5

mysql-connector-odbc-3.51.26r1127-1.el5

配置文件

1)monitor 配置文件

[root@localhost ~]# vi /etc/mysql-mmm/mmm_mon.conf

include mmm_common.conf

monitor

  ip  127.0.0.1

  pid_path  /var/run/mysql-mmm/mmm_mond.pid

  bin_path  /usr/libexec/mysql-mmm

  status_path  /var/lib/mysql-mmm/mmm_mond.status

  ping_ips  172.16.71.128,172.16.71.130 #master,slave 實際數據庫 ip

  auto_set_online  60

/monitor

host default

  monitor_user  mmm_monitor

  monitor_password  10jqka

/host

Debug

2)通用的配置文件,在 monitor 及 master,slave 上放置的這個文件都一致

[root@localhost ~]# vi /etc/mysql-mmm/mmm_common.conf

active_master_role  writer

host default

  cluster_interface  eth0

  pid_path  /var/run/mysql-mmm/mmm_agentd.pid

  bin_path  /usr/libexec/mysql-mmm/

  replication_user  replicant

  replication_password  10jqka

  agent_user  mmm_agent

  agent_password  10jqka

/host

host db1

  ip  172.16.71.128 #真實 master 數據庫 ip

  mode  master

  peer  db2

/host

host db2

  ip  172.16.71.130 #真實 master 數據庫 ip

  mode  master

  peer  db1

/host

# host db3

#  ip  192.168.100.51 #真實 slave 數據庫 ip

#  mode  slave

# /host

role writer

  hosts  db1, db2

  ips  172.16.71.253 #虛擬寫數據庫 ip

  mode  exclusive

/role

role reader

  hosts  db1, db2

  ips  172.16.71.251,172.16.71.252 #虛擬讀數據庫 ip

  mode  balanced

/role

3)master,slave 配置文件

[root@localhost ~]# vi /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf

# The this variable refers to this server. Proper operation requires

# that this server (db1 by default), as well as all other servers, have the

# proper IP addresses set in mmm_common.conf.

this db1# 如為第一臺 master db 則為 db1 如為第二臺則為 db2 與 mmm_common.conf 里的機器對應

查看效果

1)啟動 db1 的相關服務

service mysqld start

service mysql-mmm-agent start

數據庫授權:所有數據庫的授權一致

GRANT REPLICATION CLIENT ON *.* TO mmm_monitor @ 172.16.71.% IDENTIFIED BY 10jqka

GRANT SUPER, REPLICATION CLIENT, PROCESS ON *.* TO mmm_agent @ 172.16.71.%   IDENTIFIED BY 10jqka

grant all on *.* to replicant@ 172.16.71.% identified by 10jqka

flush privileges;

2)啟動 monitor 相關服務

service mysql-mmm-monitor start

查看狀態:

mmm_control show

把 db1 設置為 online 狀態:

mmm_control set_online db1

開放 mmm_agentd 端口 9989

真實機器查看分配的 vip 地址

[root@localhost ~]# ip a

1: lo: LOOPBACK,UP,LOWER_UP mtu 16436 qdisc noqueue

  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

  inet 127.0.0.1/8 scope host lo

  inet6 ::1/128 scope host

  valid_lft forever preferred_lft forever

2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast qlen 1000

  link/ether 00:0c:29:ef:79:70 brd ff:ff:ff:ff:ff:ff

  inet 172.16.71.132/24 brd 172.16.71.255 scope global eth0

  inet 172.16.71.251/32 scope global eth0

  inet 172.16.71.253/32 scope global eth0

  inet6 fe80::20c:29ff:feef:7970/64 scope link

  valid_lft forever preferred_lft forever

主主(master-master)同步配置

1)172.16.71.132 機器 my.cnf

skip-name-resolve

server_id  = 132

set-variable = key_buffer_size=512M

set-variable = table_cache=32

set-variable = sort_buffer_size=32M

set-variable = read_buffer_size=32M

set-variable = max_connections=2100

set-variable = log_slow_queries=/var/lib/mysql/log/mysql-slow.log

set-variable = log_bin=/var/lib/mysql/log/mysql-bin

set-variable = long_query_time=1

set-variable = thread_concurrency=16

set-variable = tmp_table_size=4000000000

set-variable = slave_skip_errors=all

#replicate-ignore-db=mysql

#replicate-ignore-db=test 發覺加上這個 ignore 選項后會導致 mmm 接管出現點小問題不知道為什么

log-slave-updates

sync_binlog=1

auto_increment_increment=2

auto_increment_offset=1

進入 mysql 配置設置為從

mysql change master to master_host= 172.16.71.128

mysql change master to master_user= repl

mysql change master to master_password= 10jqka

mysql start slave

主(master)服務器配置:

GRANT REPLICATION SLAVE ON *.* TO repl @ 172.16.71.% IDENTIFIED BY 10jqka

2)172.16.71.128 機器 my.cnf 配置

skip-name-resolve

server_id  = 1

set-variable = key_buffer_size=512M

set-variable = table_cache=32

set-variable = sort_buffer_size=32M

set-variable = read_buffer_size=32M

set-variable = max_connections=2100

set-variable = log_slow_queries=/var/lib/mysql/log/mysql-slow.log

set-variable = log_bin=/var/lib/mysql/log/mysql-bin

set-variable = long_query_time=1

set-variable = thread_concurrency=16

set-variable = tmp_table_size=4000000000

set-variable = slave_skip_errors=all

#replicate-ignore-db=mysql

#replicate-ignore-db=test

log-slave-updates

sync_binlog=1

auto_increment_increment=2

auto_increment_offset=2

進入 mysql 配置設置為從

mysql change master to master_host= 172.16.71.132

mysql change master to master_user= repl

mysql change master to master_password= 10jqka

mysql start slave

主(master)服務器配置:

GRANT REPLICATION SLAVE ON *.* TO repl @ 172.16.71.% IDENTIFIED BY 10jqka

其它從 (slave) 服務器配置:

my.cnf 配置

skip-name-resolve

server_id  = 1

set-variable = key_buffer_size=512M

set-variable = table_cache=32

set-variable = sort_buffer_size=32M

set-variable = read_buffer_size=32M

set-variable = max_connections=2100

set-variable = log_slow_queries=/var/lib/mysql/log/mysql-slow.log

set-variable = log_bin=/var/lib/mysql/log/mysql-bin

set-variable = long_query_time=1

set-variable = thread_concurrency=16

set-variable = tmp_table_size=4000000000

set-variable = slave_skip_errors=all

mysql change master to master_host= 172.16.71.253

mysql change master to master_user= repl

mysql change master to master_password= 10jqka   mysql change master to master_log_file= rsquo;mysql-bin.00001 rsquo;;

mysql change master to master_log_pos=128;  mysql start slave

或者在 my.cnf 加入

server-id=2

master-host=172.16.71.253

master-user=repl

master-password=10jqka

問題 1:

兩臺機器互為對方的主,此時不能使用 master 的 VIP 作為該兩機器的主,如果使用 VIP 作為 master 的話沒有一臺先起來作為 vip 機器的話些會導致 monitor 不能使用,日志如下:

2010/12/06 16:29:46 WARN db1 is not replicating from db2

2010/12/06 16:29:46 WARN db2 is not replicating from db1

問題 2:

當 /etc/mysql-mmm/mmm_mon.conf 的 auto_set_online  3 時間設置為較長時,在瞬間關閉現有主,開啟現未開啟的備時,會導致 monitor 不能自動切換 VIP 導致 mmm 不可用,需要手工設置 online 狀態,有時候甚至會導致 monitor 啟動問題。為防止這情況發生可以把該時間設置短些,或者先讓一其中的一臺主起來后,再關閉另一臺。

問題 3:ERROR:Can t connect to monitor daemon

查看進程一般少了 perl 相關進程,莫名其妙的感覺,經多次嘗試試驗,一般都是在 mysql 那些擁有 agent 機器上的配置問題,還有 monitor 的 auto_set_online 時間設置

[root@localhost ~]# ps axu|grep mmm

root  3113 0.0 7.6 14000 8956 ?  S  16:27  0:00 mmm_mond

root  3115 0.9 33.2 106440 38976 ?  Sl  16:27  0:00 mmm_mond

root  3136 0.4 5.5 10388 6456 ?  S  16:28  0:00 perl /usr/libexec/mysql-mmm/monitor/checker ping_ip

root  3140 0.4 6.5 15208 7640 ?  S  16:28  0:00 perl /usr/libexec/mysql-mmm/monitor/checker mysql

root  3141 0.3 5.4 10388 6448 ?  S  16:28  0:00 perl /usr/libexec/mysql-mmm/monitor/checker ping

root  3142 0.5 6.5 15208 7636 ?  S  16:28  0:00 perl /usr/libexec/mysql-mmm/monitor/checker rep_backlog

root  3144 0.6 6.4 15208 7592 ?  S  16:28  0:00 perl /usr/libexec/mysql-mmm/monitor/checker rep_threads

root  3148 0.0 0.5  3916  652 pts/0  R+  16:28   0:00 grep mmm

其它補充資料

主從狀態查看:

查看 master 的狀態

SHOW MASTER STATUS;

Position 不應為 0

查看 slave 的狀態

show slave status;

Slave_IO_Running | Slave_SQL_Running 這兩個字段 應為 YES|YES.

show processlist; 查看進程

slave start; #啟動從復制

STOP SLAVE; #停止從復制

RESET MASTER; #重設 master 日志

RESET SLAVE;# 重設 slave 日志

當 Slave_IO_Running: 為 No 時,從服務器無法同步時操作下如

SLAVE STOP;# 停止 slave

CHANGE MASTER TO MASTER_LOG_FILE= mysql-bin.000001 , MASTER_LOG_POS=0;

#把 master_log_file 設置為從主 show master status; 得出來的日志名,POS 設置為 0

SLAVE START;# 再次啟用 slave

Mysql 普通主從配置(未使用 mmm 參考)

配置主從 my.cnf 文件:

skip-innodb

skip-name-resolve

server_id  = 132

set-variable = key_buffer_size=512M

set-variable = table_cache=32

set-variable = sort_buffer_size=32M

set-variable = read_buffer_size=32M

set-variable = max_connections=2100

set-variable = log_slow_queries=/var/lib/mysql/log/mysql-slow.log

set-variable = log_bin=/var/lib/mysql/log/mysql-bin# 從庫這條語句注釋掉

set-variable = long_query_time=1

set-variable = thread_concurrency=16

set-variable = tmp_table_size=4000000000

set-variable = slave_skip_errors=all

因為 mysql 版本不同在從服務器下開啟了下面選項導致同步不能進行

replicate-ignore-db=mysql

replicate-do-db =test

以上是“如何安裝 mysql-mmm”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-15發表,共計7716字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 开平市| 余江县| 曲阳县| 南郑县| 双辽市| 广饶县| 益阳市| 台南市| 中宁县| 洱源县| 双桥区| 普定县| 华蓥市| 延津县| 黑山县| 保定市| 措勤县| 遂川县| 穆棱市| 房产| 高要市| 柏乡县| 青州市| 天全县| 开化县| 壤塘县| 墨江| 张家港市| 西乌| 家居| 郧西县| 崇信县| 长阳| 陆良县| 乌恰县| 丰原市| 遂宁市| 淮滨县| 普陀区| 乌拉特前旗| 长白|