您的位置:首页 > 数据库 > MySQL

mysql数据库主从配置

2016-09-27 09:11 295 查看
1.安装mysql数据库  可参考如下链接
http://wenku.baidu.com/link?url=aFF7kQQfFiweD_44lRH89TM5ckFCIpoUEfd0q3fmbNHLm-O3jWLC5Nz4j_v7VXW6Po8mfCf6IahwbHnlGInun5NMS4VnPh1OeJu0W51Owey http://wenku.baidu.com/link?url=g08bSnouxn16waeWhxo0g49MR-YdDFJXSoBX-AAHcLv6aZViV1KPIBTNZ8xZ1l0XonBy_RLR3BUeJvVp9zm5WdlNf6PS5jzOKd4krp9vIp3
2.安装两台服务器

master主服务器:172.16.1.100

slave   从服务器:172.16.1.101

3.master主服务器端配置文件修改

在Linux环境下MySQL的配置文件的位置是在 /etc/my.cnf ,在该文件下指定Master的配置如下:(vi /etc/my.cnf)

在mysqld下方添加

log-bin=mysql-bin

server-id=1

binlog-ignore-db=information_schema

binlog-ignore-db=mysql

binlog-do-db=ufind_db

这里的server-id用于标识唯一的数据库,这里设置为1,在设置从库的时候就需要设置为其他值。

binlog-ignore-db:表示同步的时候ignore的数据库

binlog-do-db:指定需要同步的数据库

4.然后重启mysql:service mysqld restart

5.进入mysql:[root@VM_221_4_centos ~]# mysql -u root -p 回车,输入mysql密码进入。

6.赋予从库权限帐号,允许用户在主库上读取日志,赋予192.168.1.2也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。

7.在Master数据库命令行中输入:

GRANT FILE ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY 'mysql password';

GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY 'mysql password';

FLUSH PRIVILEGES;

这里使用的仍是 root 用户作为同步的时候使用到的用户,可以自己设定。

8.重启mysql,登录mysql,显示主库信息

show master status;

File 、Position 是在配置Salve的时候要使用到的

Binlog_Do_DB表示要同步的数据库

Binlog_Ignore_DB 表示Ignore的数据库,这些都是在配置的时候进行指定的。

另外:如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对。

9.从库的配置,首先也是修改配置文件:/etc/my.cnf 如下:

log-bin=mysql-bin

server-id=3

binlog-ignore-db=information_schema

binlog-ignore-db=mysql

replicate-do-db=test

replicate-ignore-db=mysql

log-slave-updates

slave-skip-errors=all

slave-net-timeout=60

10.这里可以看到,在MySQL5.6之后的版本中没有指定:

master-host=172.16.1.100 #Master的主机IP

master-user=root

master-password=mysql #Master的MySQL密码

11.这也是在网上很多搜索的配置过程,他们也都指定了数据库的版本,但是并没有说出来新版本的配置这种方式是不适用的。

12.如果,你在MySQL5.6和之后的版本中配置从库的时候,即指定了master-host、master-user等信息的话,重启MySQL的时候就会报错,错误信息如下:

[root@VM_128_194_centos bin]# service mysqld restart

注意:如果在配置文件中配置了master-host,master-user,master-port等信息 5.6以上版本会报错

Starting MySQL... ERROR! The server quit without updating PID file (/data/mysqldb/..pid).

13.要在数据库中进行如下指定

mysql> stop slave;  #关闭Slave

mysql> change master to master_host='172.16.1.100',master_user='root',master_password='123456',master_log_file='mysql-bin.000001', master_log_pos=28125;

mysql> start slave;  #开启Slav

在这里指定Master的信息,master_log_file是在配置Master的时候的File选项, master_log_pos是在配置Master的Position 选项,这里要进行对应。

14.show slave status即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 mysql