1.配置文件my.cnf里面的几个选项的解释(配置文件放在 [mysqld]下面

     server-id   是节点标识符。必须全局唯一(也就是说不能一样)

    log-bin 表示开启mysql是二进制日志功能,是mysql可以同步的关键。这个选项必须开启,否则无法生成日志文件,不可能同步。一般会生成文件名为mysql-bin-000001  (mysql-bin-00000x).

如果:show  master status;     没有返回状态结果。最有可能就是 log-bin功能没有开启。

     relay-bin( 中继日志 )用来定义从中继日志的命名规则(这个一般不用更改)

    replicate-wild-ingore-table  是复制过滤选项的。可以过滤掉不需要复制的数据库或表,例如:

replicate-wild-ingore-table=msyql.%.就表示不复制mysql库下的所有对象,

2.同步数据库。既然要主从复制。开始的时候,数据还是要一致的。

  一般的操作是:进入主库。锁表,备份。

        mysql> flush tables with read lock; (千万不要退出这个终端,否则锁表失败)

        可以在开启一个终端  备份;

        #mysqldump -u xx   -pxxx    >xxxxx.sql

        导出数据后:解锁    mysql > unlock tables;   

3.在开启slave的时候:常出现的问题。

 Last_IO_Error: Got fatal error 1236 from master when  reading data from binary log:
'Client requested master to start  replication from impossible position'

这个错误一般分时间的。

如果是第一次安装的时候出现:最大的可能性是:change master to  语句中间出现了空格。解决办法:检查语法。

如果是运行一段时间后,出现这个错误。

查看mysql错误日志:最近的   mysql-bin-xxxxxx  和position  这2个 参数的信息。

*************************************************************

一般步骤: > stop slave;

mysql> change master to master_log_file='mysql-bin.xxxxxx',master_log_pos=xxxxxxx1x;mysql> start slave;

*********************************************************

如果还不可以。可以查看下 主服务器的bin-log文件。

# mysqlbinlog xxxxx/mysql-bin.xxxxxx> cat.txt

#tail -10 cat.txt

在寻找最近关于master_log_file 和 master_log_pos 的信息。

然后: 重复**一般步骤**。

还有就是:数据要求不高的时候。

stop slave;
set global sql_slave_skip_counter =1 ;
start slave;

最糟糕就是:删了从库。重新同步主库的数据。是最耗费时间的。前提。主库没有问题,是最好的。