一、MySQL远程访问

        远端的是MySQL5.5,本地是5.6。只需在远端如下设置:

        1、添加远程账号:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;,这里的%代表任意IP,如果想限定某IP,如只给192.168.1.1远程,那将%改为192.168.1.1。ALL PRIVILEGES是所有权限,如果只给select,update,那就改为select,update。这里的账号和密码都是root,可以自定义改。

        然后,运行“flush privileges;

        2、关闭远端的防火墙,或者打开3306的端口,给所有程序,或者只给mysqld.exe开放,否则,本地登陆出现如下的错误。

ERROR 2003 (HY000): Can't connect to MySQL server on '*.*.*.*' (10060)

远程访问MySQL.png

        二、主从同步MySQL

       1、 远端设置在my.ini配置,在其[mysqld] 下添加主服务器端配置:

server-id=1    #服务器 id
log-bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin    #二进制文件存放路径
binlog-do-db=test1    #待同步的数据库
      2、给要连接的从服务器设置权限:grant replication slave,reload,super on *.* to slave@192.168.1.193 identified by '123456';     ps: 给主机192.168.1.193添加权限,用户名:slave,密码:123456;(只需输入一次就可以了)

      3、输入命令 show master status;       # 找到File 和 Position 的值记录下来;Position的值在从服务器要配置

      4、从服务器my.ini配置,在[mysqld]添加配置

#server-id=2    #服务器 id ,不能和主服务器一致
#replicate-do-db=test1    #待同步的数据库

      5、从服务器登陆MySQL设置:mysql> change master to master_host='192.168.1.1',master_user='slave',master_p
assword='abcd', master_log_file='mysql-bin.000001',master_log_pos=107;

       上面的107是主服务器的Posion,不过这个值不断在增加,000001也是file的名,不变。

    6、start slave;,再用show slave status\G;,如果可以看到:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

以上两项都为Yes,那说明没问题了。

       但是,我设置的出错了:Fatal error: The slave I/O thread stops because a fatal error is encountered when it tries to get the value of SERVER_UUID variable from master.

        百度找不到这个错,找不到解决,搞了下午。。。

        先记录,反正远程的可以先用。