RHEL6.4_64安装MySQL主从复制
MySQL是目前轻量级数据库MySQL的冗余方案之首选 以下是MySQL的异步主从复制的配置过程 先配置系统yum,此处不已源码包的安装过
MySQL是目前轻量级数据库MySQL的冗余方案之首选
以下是MySQL的异步主从复制的配置过程
先配置系统yum,此处不已源码包的安装过程为例来介绍了!
也不再介绍yum的配置过程,从安装mysql开始
推荐阅读:
此处用两个主机安装
master:192.168.0.111
slave:192.168.0.222
安装MySQL(主从两个节点上都安装)
yum -y install mysql mysql-server
创建mysql的数据目录(两个节点)
mkdir /opt/mysql_data && chown -R mysql.mysql /opt/mysql_data && chmod 766 /opt/mysql_data
配置mysqld(master节点)
编辑/etc/my.cnf内容如下,先启动mysql的(两个节点):
[mysqld]
character-set-server = utf8
datadir=/opt/mysql_data
socket=/tmp/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
启动mysqld:
service mysqld start && chkconfig --level 35 mysqld on
************************************************
注意:此处以主从复制为主题不讨论iptables
和SELinux,,所以事先关闭SELinux和iptables
否则mysqld会起不来
************************************************
创建要同步的数据库和同步的用户(在master节点)
mysql> grant replication slave,reload,super on *.* to cai@192.168.0.222 identified by 'cai'; //创建cai用户
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to cai@192.168.0.222 identified by 'cai';
Query OK, 0 rows affected (0.00 sec)
mysql> create database caidb; //创建要同步的数据库
Query OK, 1 row affected (0.00 sec)
mysql> show databases; select user,host from mysql.user; //查看创建的库和用户信息
+--------------------+
| Database |
+--------------------+
| information_schema |
| caidb |
| mysql |
| test |
+--------------------+
4 rows in set (0.01 sec)
+------+---------------+
| user | host |
+------+---------------+
| root | 127.0.0.1 |
| cai | 192.168.0.222 |
| | localhost |
| root | localhost |
| | master |
| root | master |
+------+---------------+
6 rows in set (0.00 sec)
在slave节点上尝试连接master,测试网络和用户的可用性:
[root@slave ~]# mysql -ucai -pcai -h 192.168.0.111 -e "select user,host from mysql.user;show databases;" //用cai登录远程数据库192.168.0.111,执行sql “show databases”
+------+---------------+
| user | host |
+------+---------------+
| root | 127.0.0.1 |
| cai | 192.168.0.222 |
| | localhost |
| root | localhost |
| | master |
| root | master |
+------+---------------+
+--------------------+
| Database |
+--------------------+
| information_schema |
| caidb |
| mysql |
| test |
+--------------------+
在要同步的数据库中创建表和模拟数据(在master)
mysql> create table `caitable` (`id` int(5) NOT NULL auto_increment, `name` varchar(32) NOT NULL, `password` char(32) NOT NULL, PRIMARY KEY (`id`)); //创建表
插入模拟数据用一下脚本:
[root@master ~]# cat ist.sh
#!/bin/bash
for ((i=1; ido
mysql -uroot -e "insert into caidb.caitable(id,name,password) value ('$i','user$i',md5('usercai$i'));"
done
mysql -uroot -e "select * from caidb.caitable;" //查询插入的数据
接下来请看第2页: