欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Linux MySQL主从数据库的设置方法

程序员文章站 2024-01-13 20:47:52
...

一、单主单从 1.主从数据库的版本要一致。 2.在主服务器上,设置一个从数据库的账户,使用REPLICATION SLAVE赋予权限。 mysqlgt

一、单主单从

1.主从数据库的版本要一致。

2.在主服务器上,设置一个从数据库的账户,使用REPLICATION SLAVE赋予权限。

mysql> grant replication slave on *.* to rep@'192.168.0.%' identified by '123456';

mysql> select user,host from mysql.user; ---查看命令是否生效。

3.修改主数据库配置文件my.cnf

[mysqld]

log-bin=mysql3306-bin

server-id = 1

4.主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复。

mysql> show master status\G;

*************************** 1. row ***************************

File: mysql3306-bin.000002

Position: 440

Binlog_Do_DB:

Binlog_Ignore_DB:

1 row in set (0.00 sec)

5.现在可以停止主数据的的更新操作,并生成主数据库的备份,可以通过mysqldump主数据库到从数据库,注意在导出数据之前先对主数据库进行READ LOCK,以保证数据的一致性

mysql> flush tables with read lock;---锁数据库

Query OK, 0 rows affected (0.19 sec)

mysqldump -u root -p -S /data/3306/mysql.sock -A -B >/home/oldboy/mysql.sql ---注意 -A 表示备份所有库 -B表示增加 use DB 和 drop等(导库时会直接覆盖原有的)

mysql> unlock tables;

Query OK, 0 rows affected (0.28 sec)

6.将刚才主数据库的备份复制到从数据库,,进行导入。

7.修改从数据库的my.cnf。

[mysqld]

relay-log=slave-relay.bin

server-id = 10

8.

[root@localhost 3306]# cat |mysql -uroot -p'123456' -S /data/3306/mysql.sock

> CHANGE MASTER TO

> MASTER_HOST='192.168.0.32',

> MASTER_PORT=3306,

> MASTER_USER='rep',

> MASTER_PASSWORD='123456',

> MASTER_LOG_FILE='mysql3306-bin.000002',

> MASTER_LOG_POS=440;

> EOF

9.重启从数据库及验证。

[root@localhost 3306]# mysql -uroot -p'123456' -S /data/3306/mysql.sock -e "start slave;"

[root@localhost 3306]# mysql -uroot -p'123456' -S /data/3306/mysql.sock -e "show slave status\G"|grep -i yes

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Linux MySQL主从数据库的设置方法