倒弄了一天终于出结果了,
过程很简单,但在中间尝试很多次:
步骤:
1.两台服务器
主服务器:ip:192.168.15.201
从服务器:ip:192.168.15.201
主服务器配置:
打开my.cnf文件:sudo /etc/mysql/my.cnf
在mysqld下添加代码如下:
server-id=1
log-bin=my-bin.log
binlog_do_db=epimap(要同步的数据库,如果全部同步则注释)
保存my.cnf文件
重启mysql:sudo /etc/init.d/mysql restart;
进入mysql:mysql -u root -p;
grant file ,replication slave on *.* to 'repl'@'192.168.15.202' identified by 'epimap.123456';
对用户repl赋权限
完成之后查看master状态
show master status;
记录文件和position值。主服务器配置完成。
从服务器:
修改my.cnf :
server-id=2;保存
不知道是不是有的版本支持在my.cnf配置主服务器信息,但是我的这个不行,配置文件会报错,用的是动态的语句
重启mysql
进入mysql
stop slave
change master to master_host='192.168.15.201',master_user='repl',master_password='epimap.123456',master_log_file='mysql-bin.000008',master_log_pos=107;
start slave
查看状态
show slave status
如果 Slave_IO_Running |和Slave_SQL_Running状态都为yes代表成功
在配置中存在很多问题
例如修改my.cnf文件内容会报错,查看error.log信息,查看
经常出现的毛病是mysql无法启动
查看进程 ps -ef;
进入root权限内杀死mysql进行,重新启动即可。不过具体原因不清楚