900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > linux mysql 单机主从_MariaDB单机双实例主从复制

linux mysql 单机主从_MariaDB单机双实例主从复制

时间:2024-04-30 03:41:57

相关推荐

linux mysql 单机主从_MariaDB单机双实例主从复制

MariaDB其实和mysql一样,非有啥不一样那就是名字不一样~.~!

开始~上篇实验是MariaDB的单机多实例安装

双实例端口3307主库,3308从库

3307主实例的mysqld配置

[mysqld2]

port=3307

socket=/tmp/mysql3307.sock

pid-file=/tmp/mysql3307.pid

max_allowed_packet=1M

net_buffer_length=2k

table_open_cache=4

sort_buffer_size=64k

thread_stack=128k

basedir=/usr/local/mysql

datadir=/data/mydata2

server-id=244

log-bin = master3307-bin

log-bin-index = master3307-bin.index

thread_concurrency=4

innodb_file_per_table = 1

#mysql_pwd='teleframe'

3308从实例的mysqld配置

[mysqld3]

port=3308

socket=/tmp/mysql3308.sock

pid-file=/tmp/mysql3308.pid

max_allowed_packet=1M

net_buffer_length=2k

table_open_cache=4

sort_buffer_size=64k

thread_stack=128k

basedir=/usr/local/mysql

datadir=/data/mydata3

innodb_file_per_table = 1

server-id=245

log-bin=mysql3308-bin

relay-log = relay-log

relay-log-index = relay-log-index

thread_concurrency=4

read-only = on

开始主从配置

步骤1、连接到主库上授权一个REPLICATION SLAVE 帐号,并且刷新授权表

[root@e3 mysql]# mysql -uroot -h127.0.0.1 -P3307 -p

Enter password:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 8

Server version: 10.0.15-MariaDB-log Source distribution

Copyright (c) 2000, , Oracle, SkySQL Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

| test1 |

+--------------------+

5 rows in set (0.00 sec)

MariaDB [(none)]> grant replication slave on *.* to 'repl'@'192.168.0.%' identified by 'repl';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show master status;

+-----------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-----------------------+----------+--------------+------------------+

| master3307-bin.000005 | 632 | | |

+-----------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

MariaDB [(none)]>

2、连接到从库上指定主库,启动slave

[root@e3 ~]# mysql -uroot -p'teleframe' -h127.0.0.1 -P3308

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 3

Server version: 10.0.15-MariaDB-log Source distribution

Copyright (c) 2000, , Oracle, SkySQL Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> change master to master_host='192.168.0.244',master_user='repl',master_password='repl',master_port=3307,master_log_file='master3307-bin.000005',master_log_pos=632;

ERROR 1201 (HY000): Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log #我这报错了,如果你跟我一样报错就执行下面的命令

MariaDB [(none)]> reset slave;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> change master to master_host='192.168.0.244',master_user='repl',master_password='repl',master_port=3307,;

Query OK, 0 rows affected (0.22 sec) #好了现在连接上了 master_log_file='master3307-bin.000005',master_log_pos=632 表示从主服务器那个二进制日志文件开始复制因为这是复制授权信息,所以没必要复制,在主服务器上可以查看show master status; 查看内容show binglog events in 'master-bin.000001';

MariaDB [(none)]> show slave status\G

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

Slave_IO_State:

Master_Host: 192.168.0.244

Master_User: repl

Master_Port: 3307

Connect_Retry: 60

Master_Log_File: master3307-bin.000005

Read_Master_Log_Pos: 632

Relay_Log_File: relay-log.000002

Relay_Log_Pos: 4

Relay_Master_Log_File: master3307-bin.000005

Slave_IO_Running: No # 从服务器有没有正常工作主要是看这个值是否YES

Slave_SQL_Running: No #

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 632

Relay_Log_Space: 248

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 0

Master_SSL_Crl:

Master_SSL_Crlpath:

Using_Gtid: No

Gtid_IO_Pos:

1 row in set (0.00 sec)

MariaDB [(none)]> start slave; #好启动slave

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show slave status\G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.0.244

Master_User: repl

Master_Port: 3307

Connect_Retry: 60

Master_Log_File: master3307-bin.000005

Read_Master_Log_Pos: 632

Relay_Log_File: relay-log.000003

Relay_Log_Pos: 540

Relay_Master_Log_File: master3307-bin.000005

Slave_IO_Running: Yes #表示从服务器正常工作了

Slave_SQL_Running: Yes #

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 632

Relay_Log_Space: 831

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 244

Master_SSL_Crl:

Master_SSL_Crlpath:

Using_Gtid: No

Gtid_IO_Pos:

来测试!

在主的上面创建一个库看从的是否可以复制到

主上创建

MariaDB [(none)]> create database kcwtest;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| kcwtest |

| mysql |

| performance_schema |

| test |

| test1 |

+--------------------+

6 rows in set (0.00 sec)

从上查看

MariaDB [(none)]> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| kcwtest |

| mysql |

| performance_schema |

| test |

+--------------------+

5 rows in set (0.00 sec)

可以复制!这样就实现单机实例复制,我做的3个实例,3306端口给默认的用,3307,3308端口做主从复制。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。