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 root@10.77.50.115:/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的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值