1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mysql主从复制于读写分离_MySQL主从复制读写分离

mysql主从复制于读写分离_MySQL主从复制读写分离

时间:2022-06-15 20:56:34

相关推荐

mysql主从复制于读写分离_MySQL主从复制读写分离

mysql主从复制读写分离

master和slave时间同步

[[emailprotected]~]#ntpdate 172.18.0.1

[[emailprotected]~]#vim /etc/chrony.conf

[[emailprotected]~]#systemctl start chronyd.service

slave步骤同上确保关闭了iptables和selinux功能

##配置主从复制

master 配置:修改配置文件

[[emailprotected]~]#vim /etc/f.d/f

授权用户MariaDB [(none)]> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON . TO [emailprotected]%’ IDENTIFIED BY ‘123456’;

MariaDB [(none)]> FLUSH PRIVILEGES;

查看二进制日志MariaDB [(none)]> SHOW MASTER STATUS;

MariaDB [(none)]> SHOW BINLOG EVENTS IN ‘log-bin.000001’;

slave配置修改配置文件

[[emailprotected]~]#vim /etc/f.d/f

slave1和slave2配置相同,不过需要修改下server_id修改主节点MariaDB [(none)]> CHANGE MASTER TO MASTER_USER=’joah’,MASTER_HOST=’192.168.4.61’,MASTER_PASSWORD=’123456’,MASTER_LOG_FILE=’log-bin.000001’,MASTER_LOG_POS=245;

MariaDB [(none)]> START SLAVE;

MariaDB [(none)]> SHOW SLAVE STATUSG;

实现半同步复制

master节点配置安装semisync插件MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master’;

查看变量MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE ‘rpl_semi%’;

+————————————+——-+

| Variable_name | Value |

+————————————+——-+

| rpl_semi_sync_master_enabled | OFF |

| rpl_semi_sync_master_timeout | 10000 |

| rpl_semi_sync_master_trace_level | 32 |

| rpl_semi_sync_master_wait_no_slave | ON |

+————————————+——-+

启动此插件功能MariaDB [(none)]> SET GLOBAL rpl_semi_sync_master_enabled=ON;

显示状态MariaDB [(none)]> SHOW GLOBAL STATUS LIKE ‘%rpl%’;

Slave1 配置安装插件MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave’;

查看semi变量MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE ‘%rpl_semi%’;

+———————————+——-+

| Variable_name | Value |

+———————————+——-+

| rpl_semi_sync_slave_enabled | OFF |

| rpl_semi_sync_slave_trace_level | 32 |

+———————————+——-+

启动semi功能MariaDB [(none)]> SET @@global.rpl_semi_sync_slave_enabled=ON;

重启IO线程,如果不重启当执行时会超时

MariaDB [(none)]> STOP SLAVE IO_THREAD;

MariaDB [(none)]> START SLAVE IO_THREAD;

proxysql

###安装proxysql

[[emailprotected]~]#yum install proxysql-1.4.3-1-centos7.x86_64.rpm

###修改配置文件/etc/f

[[emailprotected]~]#cp /etc/f{,.bak}

[[emailprotected]~]#vim /etc/fdatadir="/var/lib/proxysql" #存放数据地址

10

11 admin_variables=

12 {

13 admin_credentials="admin:123456"

14 mysql_ifaces="127.0.0.1:6032;/tmp/proxysql_admin.sock" #为了安全可见仅在本地使用

15 }

16

17 mysql_variables=

18 {

19 threads=4

20 max_connections=2048

21 default_query_delay=0

22 default_query_timeout=36000000

23 have_compress=true

24 poll_timeout=2000

25 interfaces="0.0.0.0:3306;/tmp/proxysql.sock"

26 # interfaces="0.0.0.0:6033"

27 default_schema="information_schema"

28 stacksize=1048576

29 server_version="5.5.30"

30 connect_timeout_server=3000

31 monitor_username="joah"

32 monitor_password="joah"

33 monitor_history=600000

34 monitor_connect_interval=60000

35 monitor_ping_interval=10000

36 monitor_read_only_interval=1500

37 monitor_read_only_timeout=500

38 ping_interval_server_msec=120000

39 ping_timeout_server=500

40 commands_stats=true

41 sessions_sort=true

42 connect_retries_on_failure=10

43 }

44

45

46 # defines all the MySQL servers

47 mysql_servers =

48 (

49 {

50 address = "192.168.4.61"

51 port = 3306

52 hostgroup = 0

53 status = "ONLINE"

54 weight = 1

55 compression = 0

56 },

57 {

58 address = "192.168.4.62"

59 port = 3306

60 hostgroup = 1

61 status = "ONLINE"

62 weight = 1

63 compression = 0

64 },

65 {

66 address = "192.168.4.63"

67 port = 3306

68 hostgroup = 1

69 status = "ONLINE"

70 weight = 1

71 compression = 0

72 }

73 )

74

75 # defines all the MySQL users

76 mysql_users:

77 (

78 {

79 username = "joah"

80 password = "123456"

81 default_hostgroup = 0

82 max_connections=1000

83 default_schema="hellodb"

84 active = 1

85 }

86 )

87

88 #defines MySQL Query Rules

89 mysql_query_rules:

90 (

91 )

92

93 scheduler=

94 (

95 )

96

97

98 mysql_replication_hostgroups=

99 (

100 {

101 writer_hostgroup=0

102 reader_hostgroup=1

103 comment="joah mysql"

104 }

105 )

注意:配置文件中{}如果没有后续内容没有逗号。

本地管理

[[emailprotected]~]#mysql -S /tmp/proxysql_admin.sock -uadmin -p123456

测试是否能支持读写分离

授权在上述文件中设定的mysql_userMariaDB [hellodb]> GRANT ALL ON . TO [emailprotected]%’ IDENTIFIED BY ‘123456’;

[[emailprotected]~]#mysql -ujoah -p -h192.168.4.64

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