@H_502_3@
我是在VMWare@H_502_3@虚拟机的Ubuntu16.04上进行的测试,步骤如下
1@H_502_3@、依次下载安装MysqL@H_502_3@,我使用的是sudo apt-get install MysqL-server MysqL-client在线安装
2@H_502_3@、在主从的终端分别输入@H_502_3@
vim /etc/MysqL/MysqL.conf.d/MysqLd.cnf@H_502_3@
打开配置文件,注释掉bind-address@H_502_3@,用来允许远程访问数据库。
server-id = @H_502_3@ 1@H_502_3@ #server-@H_502_3@id 服务器唯一标识
log_bin = master-@H_502_3@bin #log_bin 启动MysqL二进制日志
log_bin_index = master-@H_502_3@bin.index
binlog_do_db =@H_502_3@ myslave #binlog_do_db 指定记录二进制日志的数据库
binlog_ignore_db = MysqL #binlog_ignore_db @H_502_3@指定不记录二进制日志的数据库@H_502_3@
@H_502_3@
@H_502_3@
@H_502_3@
3、允许MysqL的远程访问(权限可以根据自己配置)
例如:
允许账户为root,密码为wangcbin的用户,从192.168.110.*的IP范围 远程访问A主MysqL,如果想任何机器都能连上主机把IP改成%即可
MysqL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.110.*' IDENTIFIED BY 'wangcbin' WITH GRANT OPTION;
生效。该操作很重要!
MysqL>FLUSH PRIVILEGES;
4、分别重启MysqL服务
service MysqL restart
show master status
记录下file和position字段的值后面会用到
6、登录从服务器上的MysqL并输入一下代码,用于从服务器连接上master服务器
change master to master_host='192.168.178.128',@H_502_3@master_port=3306,@H_502_3@master_user='root',@H_502_3@master_password='wangcbin',@H_502_3@master_log_file='master-bin.000001',@H_502_3@master_log_pos=1048;@H_502_3@
@H_502_3@
(master_host@H_502_3@对应主服务器的IP@H_502_3@地址,master_port对应主服务器的端口,master_user对应主服务器的账号,master_password对应主服务器的密码@H_502_3@,@H_502_3@master_log_file对应show master status显示的File列:master-bin.000001,master_log_pos对应Position列:1048,否则有可能出现同步失败。)
master_user和master_password是第三步配置的账号和密码@H_502_3@@H_502_3@
7、在从服务器上面启动同步@H_502_3@@H_502_3@start slave 查看从服务器状态show slave status\G;@H_502_3@
@H_502_3@
@H_502_3@
上面两个都为Yes表示同步成功,如果是slave_io_running no了,那么就我个人看有三种情况,一个是网络有问题,连接不上,第二个是有可能my.cnf有问题,查看server-id是否已经更改,最后一个是MysqL的uuid是否和主服务器的不一样,具体问题通过查看MysqL的log日志。@H_502_3@
/usr/bin 客户端程序和脚本
/usr/sbin MysqLd 服务器
/var/lib/MysqL 日志文件,数据库 [重点要知道这个]
/usr/share/doc/packages 文档
/usr/include/MysqL 包含( 头) 文件
/usr/lib/MysqL 库
/usr/share/MysqL 错误消息和字符集文件
/usr/share/sql-bench 基准程序@H_502_3@
@H_502_3@
Slave I/O for channel '': Fatal error: The slave I/O thread stops because master and slave have equal MysqL server UUIDs;@H_502_3@ these UUIDs must be different for replication to work. Error_code: 1593
发现原来是uuid和主服务器的uuid重复了,MysqL的一个配置文件auto.cnf里面记录了MysqL服务器的uuid。(auto.cnf的地址在库下面/var/lib/MysqL@H_502_3@)
因为我的从服务器是通过主服务器克隆过来的,所以MysqL的uuid重复导致的问题。
需要注意的是权限问题,默认情况下/var/lib/MysqL是没有权限访问和修改的,需要sudo chmod 777 /usr/lib/MysqL 修改权限后可以访问