首先安装好数据库 这里用的是mysql5.6.15版本的
[root@master1 ~]# rpm -Uvh MySQL-*.rpm
Preparing... ########################################### [100%]
1:MySQL-devel ########################################### [ 14%]
2:MySQL-client ########################################### [ 29%]
3:MySQL-test ########################################### [ 43%]
4:MySQL-embedded ########################################### [ 57%]
5:MySQL-shared-compat ########################################### [ 71%]
6:MySQL-shared ########################################### [ 86%]
7:MySQL-server ########################################### [100%]
启动数据库
[root@master1 ~]# service mysql start
Starting MySQL.. [确定]
查看数据库默认密码(5.6版本会自动生成一个默认的密码密码文件是/root/.mysql_secret)
[root@master1 ~]# cat .mysql_secret
# The random password set for the root user at Tue Sep 9 21:37:58 2014 (local time): juoOyw9v
连接进入数据库
mysql -uroot -pjuoOyw9v
修改数据库默认密码(不修改无法做更改类操作)
set password=password("123456");
主从配置部分
(主服务器)
修改mysql“my .cnf配置文件”(主服务器)
server_id=10
log_bin 开启binlog日志
log_slave_updates=1 允许级联复制(主主配置中用到)
auto_increment_increment=1 (指定自增长字段的起始值)
auto_increment_offset=2 (指定自增长字段自增长的步长)
skip-name-resolve (不做域名解析)
auto-increment-incrment和auto-increment-offset这两个选项的设置是为了防止2台服务器互相复制产生关键字段的冲突。如果他们用不同的便宜,比如一个按照1,3,5,7增加而另外一台按照那个2,4,6,8增加。auto-incrment-increment=2自动增加的字段每次步进是2,auto-increment-offset=1自动增加的字段的初始值是1(如果业务环境有需要连续则无法使用此配置)
授权 主从复制中SLAVE连接用户所需的复制权限(可以读取binlog日志文件的权限)
mysql -u root -p
grant replication slave on *.* to slaveuser@"192.168.213.%" identified by "pwd@123"; (有多台从服务器所以授权了整个网段当然也可以挨个授权)
主服务器信息
[root@localhost mysql]# pwd
/var/lib/mysql
[root@localhost mysql]# ls
auto.cnf localhost-bin.index mysql.sock
ibdata1 master1-bin.000001 performance_schema
ib_logfile0 master1-bin.index RPM_UPGRADE_HISTORY
ib_logfile1 master1.pid RPM_UPGRADE_MARKER-LAST
localhost-bin.000001 mysql test
[root@localhost mysql]#
(从服务器)
server_id=11
log_bin
log_slave_updates=1
auto_increment_increment=2
auto_increment_offset=2
skip-name-resolve
配置主从同步
mysql -uroot -p
change master to
master_host="192.168.213.10",
master_user="slaveuser",
master_password="pwd@123",
master_log_file="master1-bin.000001",
master_log_pos=340;
start slave; 启动同步服务器
show slave status; 查看从数据库状态如果IO 和SQL 模块正常则可以进行主从测试了
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
主主结构开始(将主变为从的从)
从服务器信息查看
grant replication slave on *.* to slaveuser@"192.168.213.%" identified by "pwd@123"; 授权
mysql> show master status;
+--------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+--------------------+----------+--------------+------------------+-------------------+
| master2-bin.000002 | 639 | | | |
+--------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
给主配置成为从的从
change master to
master_host="192.168.213.11",
master_user="slaveuser",
master_password="pwd@123",
master_log_file="master2-bin.000002",
master_log_pos=639;
start slave; 启动同步服务器
show slave status; 查看从数据库状态如果IO 和SQL 模块正常则可以进行主从测试了
Slave_IO_Running: Yes
Slave_SQL_Running: Yes