http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.27-1.el6.x86_64.rpm-bundle.tar
测试环境:
两台服务器
MYSQL-1:10.11.22.78
MYSQL-2:10.11.22.248
测试系统
Centos 6.5_64
Mysql版本
MySQL-5.6.27
Keepalived版本
keepalived-1.2.13
1、安装Mysql5.6.27,两台服务器执行以下同样操作
1.1、检查系统是否安装Mysql,如有安装其他的版本卸载之
[[email protected] ~]# rpm -qa|grep mysql*
mysql-libs-5.1.71-1.el6.x86_64
[[email protected] ~]# yum -y remove mysql-libs-*
1.2、安装Mysql所依赖的组件
[[email protected] ~]# yum -y install perl libaio libnuma*
1.3、解压Mysql软件包并安装
[[email protected] ~]# tar xf MySQL-5.6.27-1.el6.x86_64.rpm-bundle.tar
[[email protected] ~]# rpm -ivh MySQL-client-5.6.27-1.el6.x86_64.rpm
[[email protected] ~]# rpm -ivh MySQL-server-5.6.27-1.el6.x86_64.rpm
1.4、初始化数据并测试启动后关闭服务
[[email protected] ~]# /usr/bin/mysql_install_db
[[email protected] ~]# service mysql start
Starting MySQL. SUCCESS!
[[email protected] ~]# service mysql stop
Shutting down MySQL.. SUCCESS!
1.5、移动Mysql到/data/mysql
[[email protected] ~]# mkdir /data
[[email protected] ~]# mv /var/lib/mysql /data/
1.6、修改Mysql配置文件,添加如下内容,
[[email protected] ~]# vi /usr/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock #在配置文件中添加两行
[[email protected] ~]# service mysql start
Starting MySQL. SUCCESS!
1.7、创建链接文件,不然登录数据库会 错:
[[email protected] ~]# mkdir /var/lib/mysql
[[email protected] ~]# ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock
1.8、查看数据库root用户的临时密码
[[email protected] ~]# cat /root/.mysql_secret
# The random password set for the root user at Thu Apr 21 13:06:24 2016 (local time): xJYL3JTDc0uYZipg
1.9、使用临时密码登录数据库,并修改密码为root
[[email protected] ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.6.27
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.
mysql>
mysql> set password =password(‘root‘);
Query OK, 0 rows affected (0.00 sec)
1.10、添加开机启动
[[email protected] ~]# chkconfig mysql on
2、配置Mysql服务
2.1、在mysql-1服务器10.11.22.78上操作如下
[[email protected] ~]# mysql -uroot -p
mysql> CREATE USER [email protected]%‘;
mysql> GRANT REPLICATION SLAVE ON *.* TO [email protected]%‘ IDENTIFIED BY ‘123‘;
[[email protected] ~]# vi /usr/my.cnf
server-id = 1
log-bin = mysql-bin
auto-increment-increment= 2
auto-increment-offset = 1
[[email protected] ~]# mysql -uroot -p
mysql> CHANGE MASTER TO
-> MASTER_HOST=‘10.11.22.248‘,
-> MASTER_USER=‘test‘,
-> MASTER_PASSWORD=‘123‘;
Query OK, 0 rows affected, 2 warnings (0.05 sec)
mysql> START SLAVE;
Query OK, 0 rows affected (0.02 sec)
mysql> show slave status G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.11.22.248
Master_User: test34
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 120
Relay_Log_File: MYSQL-1-relay-bin.000002
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 120
Relay_Log_Space: 458
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 2
Master_UUID: 29bd0cab-077f-11e6-83be-000c29933162
Master_Info_File: /data/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O
thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
2.2、在mysql-2服务器10.11.22.248上操作如下
[[email protected] ~]# mysql -uroot -p
mysql> CREATE USER [email protected];
mysql> GRANT REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY
‘123‘;
[[email protected] ~]# vi /usr/my.cnf
server-id = 2
log-bin = mysql-bin #开启日志功能
auto-increment-increment= 2
auto-increment-offset = 1
[[email protected] ~]# mysql -uroot -p
mysql> CHANGE MASTER TO
-> MASTER_HOST=‘10.11.22.78‘,
-> MASTER_USER=‘test‘,
-> MASTER_PASSWORD=‘123‘;
Query OK, 0 rows affected, 2 warnings (0.10 sec)
mysql> START SLAVE;
Query OK, 0 rows affected (0.01 sec)
mysql> START SLAVE;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.11.22.78
Master_User: test
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 120
Relay_Log_File: MYSQL-2-relay-bin.000002
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 120
Relay_Log_Space: 458
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: f3a1ded7-079d-11e6-8487-000c29fb08f7
Master_Info_File: /data/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O
thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
2.3、测试同步
2.3.1、在MYSQL-1服务器10.11.22.78上创建一个数据库:MYSZHANG
mysql> CREATE DATABASE MYSZHANG;
Query OK, 1 row affected (0.00 sec)
2.3.2、在MYSQL-2服务器10.11.22.248上查看同步情况
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| MYSZHANG |
| mysql |
| performance_schema |
| test |
+——————–+
5 rows in set (0.02 sec)
2.4、测试数据库同步成功
3、安装keepalived-1.2.13
3.1、下载Keepalived安装包
http://rpmfind.net/linux/rpm2html/search.phpuery=keepalived(x86-64)
3.2、安装Keepalived,用yum –nogpgcheck localinstall 在本地解决依赖关系
[[email protected] ~]# yum -y –nogpgcheck localinstall keepalived-1.2.13-5.el6_6.x86_64.rpm
3.3、双节点配置Keepalived
[[email protected] ~]# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.11.22.55/24 dev eth0 label eth0:0
}
}
3.4、测试方法如上
3.5、主备节点配置,备节点只需将 state MASTER改为state BACKUP,优先级priority 100调低
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER #主节点,备节点调整为BACKUP
interface eth0
virtual_router_id 51
priority 100 #备节点优先级调低于主节点即可
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.11.22.55/24 dev eth0 label eth0:0
}
}
virtual_server 10.11.22.55 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
#persistence_timeout 50
protocol TCP
real_server 10.11.22.78 3306 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 10.11.22.248 3306 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
}
3.6、测试方法如上,不论主主还是主备测试成功。主备模式down掉运行的主节点数据库服务器,备节点会接管主节
点继续运行。
原文:http://leamonzhang.blog.51cto.com/11334931/1766343
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树安装和登录安装31345 人正在系统学习中 相关资源:KK录像机-瓜
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!