注意版本影响:
实现双机的热备首先要了解主从数据库服务器的版本的需求。首先,MYSQL的版本都要高于3.2,还有一个基本的原则就是作
为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本
实验环境:
master:192.168.0.101
slave:192.168.0.113
软件包是通过rpm安装的 ;
安装版本是rhel5.5;
vim /etc/yum.repos/yum.repo
[base] #名字可以随便设置
name=name #第二个name也是可以随便设置的
baseurl=file:///mnt/Server # baseurl 是你挂载的文件目录;
gpgcheck=0 #不检查密钥
通过yum 安装MySQL 的服务 只安装这两个就可以了 MySQL mysql-server
yum -y install mysql mysql-server
#mysql.i686 0:5.1.52-1.el6_0.1 mysql-server.i686 0:5.1.52-1.el6_0.1
#Complete!
[[email protected] ~]# vim /etc/my.cnf
server-id=1
log-bin=logbin
############注意不要把server-id 添加到 [mysqld_safe] 下######
完成后退出 重启一下服务 service mysqld restart
#登录到MySQL里 mysql -u root
[[email protected] ~]# mysql -u root
mysql> show master status;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| logbin.000003 | 98| | |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)
mysql>
先查看下有没有二进制文件 logbin.000001
mysql> grant replication slave,reload,super on *.* to [email protected] identified by ‘123123‘;
Query OK, 0 rows affected (0.00 sec)
把相应的库的权限授权给slave
mysql> FLUSH TABLES WITH READ LOCK;
# 锁定表lie
quit # 退出 MySQL
slave set:
配置slave 文件
vim /etc/my.cnf
server-id=2
master-host=192.168.0.113
master-user=slave
master-password=123123
直接把这里的文件内容覆盖原文件也可
service mysqld restart # 重启下slave服务
链接下master 服务器
[[email protected] ~]# mysql -u slave -p123123 -h 192.168.0.113 #ip is master ip address
确保slave 可以链接master
ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.0.113‘ (113)
#出现这种错误 时 把防火墙关闭就好了 service iptables stop 就ok了
mysql -u root -p
CHANGE MASTER TO
->MASTER_HOST=‘192.168.1.128‘,
->MASTER_USER=‘slave‘,
->MASTER_PASSWORD=‘123123‘,
->MASTER_LOG_FILE=‘logbin.000003‘, # 这个文件可以从主服务器哪里复制 ls /var/lib/mysql/
->MASTER_LOG_POS=98;
mysql> start slave;
#在主服务器上创建库文件
mysql> create database bbs;
Query OK, 1 row affected (0.00 sec) # 创建一个库 看 同步否
mysql>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bbs |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
#在从服务器上查看
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bbs |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
完毕了 主从复制 同步