1. 程式人生 > >mysql叢集之mysql-mmm在centos下的全程安裝和配置(一)

mysql叢集之mysql-mmm在centos下的全程安裝和配置(一)

第一篇:mysql的安裝,主從的配置,ip的規劃

第二篇:mysql-mmm所需要的一些包的perl安裝

第三篇:mmm安裝,配置,啟動,監控

第四篇:相關問題的總結,參考文獻

咋感覺像寫論文一樣。。。

一. mysql安裝

Ø 開始安裝

將下載的mysql-5.1.60.tar.gz檔案拷貝到/usr/local/src目錄下。版本最好都是統一的 !

以root使用者在CentOS的終端中輸入以下命令,開始安裝MySQL程式。

#cd /usr/local/src/

#groupadd mysql

#useradd -g mysql -s /sbin/nologin mysql

#tar xzvf mysql-5.1.60.tar.gz

#cd mysql-5.1.60/

* 在編譯之前,由於缺少ncurses安裝包,必須yum install ncurses-devel

#./configure --prefix=/usr/local/mysql --with-extra-charset=all --without-isam --exec-prefix=/usr/local/mysql --with-tcp-port=3306 --with-innodb --with-partition

#make

#make install

Ø MySQL的啟動配置

以root使用者在CentOS的終端中輸入以下命令,讓MySQL支援service 啟動。

#cd /usr/local/mysql/

#chown -R mysql .

#chgrp -R mysql .

#cd /usr/local/src/mysql-5.1.60/support-files

#cp my-medium.cnf /etc/my.cnf

   修改my.cnf檔案,修改內容如下。

替換skip-locking為skip-external-locking

   在my.cnf中新增如下內容。

datadir=/usr/local/mysql2/data

basedir=/usr/local/mysql2

#cp mysql.server /etc/init.d/mysqld

#chmod 755 /etc/init.d/mysqld

#chkconfig --add mysqld

#chkconfig mysqld on

Ø MySQL DB的安裝

#mkdir /usr/local/mysql/data

#mkdir /usr/local/mysql/log

#chown -R mysql:mysql /usr/local/mysql/data

#chmod -R 755 /usr/local/mysql/data

#/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

Ø MySQL的service啟動

#service mysqld restart

Ø MySQL的手動啟動

#/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

Ø 配置MySQL的遠端連線

#mysql -h 127.0.0.1 -P 3306

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;


二。mysql主從配置

Basic configuration of master 1,2,slave3

======================db1============================
log-error=/usr/local/mysql/log/error.log
long_query_time=5
slow_query_log=/usr/local/mysql/log/slow.log

log-bin=mysql-bin
binlog_format=ROW

server-id       = 1
#log-bin   =  /var/log/mysql/mysql-bin.log
#log-bin-index   =  /var/log/mysql/mysql-bin.index
relay-log   =  /var/log/mysql/mysql-relay-bin
relay-log-index   =  /var/log/mysql/mysql-relay-bin.index
expire_logs_days = 10
max_binlog_size = 100M
log_slave_updates  =1

auto_increment_increment=2
auto_increment_offset=1
bind-address = 0.0.0.0

===================db2====================
log-error=/usr/local/mysql/log/error.log
long_query_time=5
slow_query_log=/usr/local/mysql/log/slow.log

log-bin=mysql-bin
binlog_format=ROW

server-id       = 2
#log-bin   =  /var/log/mysql/mysql-bin.log
#log-bin-index   =  /var/log/mysql/mysql-bin.index
relay-log   =  /var/log/mysql/mysql-relay-bin
relay-log-index   =  /var/log/mysql/mysql-relay-bin.index
expire_logs_days = 10
max_binlog_size = 100M
log_slave_updates  =1

auto_increment_increment=2
auto_increment_offset=2
bind-address = 0.0.0.0

=====================db3=============================
db3修改my.cnf,確定有以下內容
 
server-id       = 3
log-bin=mysql-bin
log_slave_updates  =1

========================資料複製=============================

備份出sql:mysqldump -h127.0.0.1 -uroot -proot --lock-tables=0 --all-databases > /tmp/database-backup.sql

拷貝到其他機器:scp /tmp/database-backup.sql [email protected]:/tmp

在其他機器上執行:source /tmp/database-backup.sql

這樣就保證了資料的一致性。

===========================建立使用者===============================

GRANT REPLICATION CLIENT                 ON *.* TO 'mmm_monitor'@'10.77.50.%' IDENTIFIED BY 'mmm_monitor';
GRANT SUPER, REPLICATION CLIENT, PROCESS ON *.* TO 'mmm_agent'@'10.77.50.%'   IDENTIFIED BY 'mmm_agent';
GRANT REPLICATION SLAVE                  ON *.* TO 'slave'@'10.77.50.%' IDENTIFIED BY 'slave';

 FLUSH PRIVILEGES;

=============================建立主從=============================

(db1) mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+ 
| mysql-bin.000002 |      374 |              |                  | 
+------------------+----------+--------------+------------------+ 
1 row in set (0.00 sec) 
(db2) mysql> CHANGE MASTER TO master_host='192.168.0.11', master_port=3306, master_user='replication', 
              master_password='replication_password', master_log_file='<file>', master_log_pos=<position>;
(db3) mysql> CHANGE MASTER TO master_host='192.168.0.11', master_port=3306, master_user='replication', 
              master_password='replication_password', master_log_file='<file>', master_log_pos=<position>;
(db2) mysql> START SLAVE;
(db3) mysql> START SLAVE;
(db2) mysql> SHOW SLAVE STATUS\G
*************************** 1. row *************************** 
             Slave_IO_State: Waiting for master to send event 
                Master_Host: 192.168.0.11
                Master_User: replication
                Master_Port: 3306 
              Connect_Retry: 60 
…
(db3) mysql> SHOW SLAVE STATUS\G
*************************** 1. row *************************** 
             Slave_IO_State: Waiting for master to send event 
                Master_Host: 192.168.0.11
                Master_User: replication
                Master_Port: 3306 
              Connect_Retry: 60 
(db2) mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+ 
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | 
+------------------+----------+--------------+------------------+ 
| mysql-bin.000001 |       98 |              |                  |
+------------------+----------+--------------+------------------+ 
1 row in set (0.00 sec) 
(db1) mysql> CHANGE MASTER TO master_host = '192.168.0.12', master_port=3306, master_user='replication',
              master_password='replication_password', master_log_file='<file>', master_log_pos=<position>;
(db1) mysql> START SLAVE;
(db1) mysql> SHOW SLAVE STATUS\G
*************************** 1. row *************************** 
             Slave_IO_State: Waiting for master to send event 
                Master_Host: 192.168.0.12
                Master_User: <replication>
                Master_Port: 3306 
              Connect_Retry: 60 
上面大概的意思,db1為主,然後分別db2,db3做從。當然,可以擴充套件到db4.db5。

然後以db2為主,然後db1為從。這樣就建立了db1,db2互相主從,db3,db4,db5從於db1.


三。ip的規劃


這些虛擬ip最後會在啟動的時候自動的由monitor分配給固定ip的db的

相關推薦

mysql叢集mysql-mmm在centos全程安裝配置

第一篇:mysql的安裝,主從的配置,ip的規劃 第二篇:mysql-mmm所需要的一些包的perl安裝 第三篇:mmm安裝,配置,啟動,監控 第四篇:相關問題的總結,參考文獻 咋感覺像寫論文一樣。。。 一. mysql安裝 Ø 開始安裝 將下載的mysql-5.1.

centos7mongodb安裝配置 轉載

1、下載安裝包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz 2、解壓 tar -zxvf mongodb-linux-x86_64-3.2.12.tgz

linux elasticsearch的安裝配置

1. 安裝地址 https://www.elastic.co/products/elasticsearch 2. 使用 xshell 將壓縮包上傳到linux上,解壓elasticsearch-5.6.1.tar.gz到/home目錄下。 切記不要放在root目錄下 3

Linux 虛擬機器--KVM的安裝配置

1、檢視主機CPU資訊 [[email protected] ~]# cat /proc/cpuinfo|grep flagflags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat ps

轉載【項目管理構建】——Maven下載、安裝配置

文檔 port 目標 軟件項目管理 strong mar temp mave work 原文鏈接: http://blog.csdn.net/jiuqiyuliang/article/details/41076215 在現實

Redis的安裝配置

execute local bench redis-cli HR file 版本 dir mac 一. mac下redis的安裝 1. 官網http://redis.io/ 下載最新的穩定版本,這裏是3.2.0 2. sudo mv 到 /usr/local/ 3.

Linux原始碼安裝配置configure步驟--prefix

Linux下原始碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)。具體的安裝方法一般作者都會給出文件,這裡主要討論配置(configure)。 配置(configure) configure是一個可執行指令碼,它有很

ubuntuDjango的安裝使用

ins tle nag 連接 ubunt apt 工具 process 運行 (一):背景在線 由於現在工作的需要,我需要使用Python來進行一個網站後臺的開發,python之前接觸過其語法的學習,基本的東西已經掌握,但是當時自學的時候是學得python3.5,而現在要使

多線程編程Linux環境的多線程

posix you host 說明 通過 常用 新的 變量 func 一、Linux環境下的線程   相對於其他操作系統,Linux系統內核只提供了輕量級進程的支持,並未實現線程模型。Linux是一種“多進程單線程”的操作系統,Linux本身只有進程的概念,而其所謂的“線程

2018 - Python 3.7 爬蟲 Scrapy 框架的安裝配置

一,安裝 Python3.7 二,安裝 pip 三,安裝 pywin32 四,安裝 pyOpenSSL 五,安裝 lxml 六,安裝 zope.interface 七,安裝 twisted 八,安裝 Scrapy 九,一鍵升級所有庫,Python 3.7親測可用,建立

oracle 10g 學習客戶端安裝配置2

概述 Oracle 資料庫是一種網路上的資料庫, 它在網路上支援多使用者, 支援伺服器/客戶機等部署(或配置) 伺服器與客戶機是軟體概念, 它們與計算機硬體不存在一一對應的關係. 即: 同一臺計算機既可以充當伺服器又可以充當客戶機, 或者, 一臺計算機只充當伺服器或只充當充當客戶機. Oracle 資料庫

Ext Spket在Eclipse/MyEclipse安裝配置圖文教程

學習分享必看:javacto.taobao.com myeclipse下使用ext的外掛有三種方式: 1:配置線上使用: 開啟myeclipse: 1、選擇Help -> Software Updates -> Find and Install...-> Searc

多執行緒程式設計Linux環境的多執行緒——好文

一、Linux環境下的執行緒   相對於其他作業系統,Linux系統核心只提供了輕量級程序的支援,並未實現執行緒模型。Linux是一種“多程序單執行緒”的作業系統,Linux本身只有程序的概念,而其所謂的“執行緒”本質上在核心裡仍然是程序。      程序是資源分配的單位,同一程序中的多個執行緒共享該程序的

Laravel學習過程Laravel安裝配置

1. laravel環境 Windows10 Phpstudy Php7+apache2.4+mysql5.7 Lavarel5.2 2. 下載安裝phpstudy 1) 官網下載phpstudy20161103版本,或者百度提供的軟體; 官網下載地址: 2) 解壓安裝; 雙擊解壓後的exe檔案,選擇合

jira安裝配置

com 文章 講解 art setup 軟件安裝包 使用 基於 tran Jira 安裝和配置 Jira 安裝和配置 Jira 安裝 Jira 配置 資料 Jira 安裝 Jira 安裝 官網:https://www.atlassian.com/softw

jenkins安裝配置

quest tac 軟件安裝包 setup and all pro 地址 新版 轉載來自:http://wiki.jikexueyuan.com/project/linux-in-eye-of-java/Jenkins-Install-And-Settings.html

webpack的安裝使用

webpack是一個靜態模組打包工具,用於打包靜態資源,例如專案中使用了less,sass,和stylus等css前處理器,而瀏覽器無法識別和編譯,就需要一個webpack,打包後,直接在html檔案中引入打包後的.js檔案即可。 一、webpack的安裝 1.開啟命令視窗,全域性

整合學習boosting,Adaboost、GBDT xgboost

在前面的部落格(https://blog.csdn.net/qq_16608563/article/details/82878127) 介紹了整合學習的bagging方法及其代表性的隨機森林。此次接著介紹整合學習的另一個方法boosting以及boosting系列的一些演算法,具體包括 Ad

Kafka集群安裝配置

nohup 解壓 host download end 啟動 num rc.local ntp (一)、環境介紹1、服務器的相關設置:1、kafka1:172.20.67.522、kafka2:172.20.67.563、kafka3:172.20.67.57 2、zooke

Java安裝配置jdk

### 檢驗系統原版本 java -version ![](images/java原版本.png) ### 進一步檢視JDK資訊 rpm -qa | grep java ![](images/java原版本資訊.png) ### 解除安裝OpenJDK ```rpm -e --nodeps `r