MySQL配置读写分离

数据库中间件

数据库读写分离中间件使用mycat

  1. 部署环境

(1)安装jdk,配置Java环境

设置环境变量vim /etc/profile

JAVA_HOME=/usr/local/java

PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

(2)部署mycat

安装mycat

修改配置文件/usr/local/mycat/conf/server.xml

修改配置文件/usr/local/mycat/conf/schema.xml(直接覆盖)

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="testdb" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">

        </schema>

        <dataNode name="dn1" dataHost="localhost1" database="testdb" />

        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="3"

                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

                <heartbeat>select user()</heartbeat>

                <!-- can have multi write hosts -->

                <writeHost host="mysql-master" url="mysql-master:3306" user="mycat" password="Qf@1234!">

                        <!-- can have multi read hosts -->

                 <readHost host="mysql-slave" url="mysql-slave:3306" user="mycat" password="Qf@1234!" />

                </writeHost>

        </dataHost>

</mycat:schema>

在真实的 master 数据库上创建测试库和记录并且给用户授权

mysql> grant all on testdb.* to mycat@'%' identified by 'Qf@456789';

mysql> flush privileges;

/usr/local/mycat/bin/mycat start  #启动mycat

jps 查看mycat是否启动

要在MySQL配置读写分离,你可以按照以下步骤进行操作: 1. 安装MySQL:首先,在主服务器和从服务器上都安装MySQL数据库软件。 2. 配置主服务器:在主服务器上进行以下步骤: - 打开主服务器的配置文件(通常是my.cnf或my.ini),找到并修改以下参数: ``` server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog-do-db = your_database_name ``` 这些配置将启用二进制日志记录和指定要复制的数据库。 - 重启主服务器使配置生效。 3. 配置从服务器:在从服务器上进行以下步骤: - 打开从服务器的配置文件,找到并修改以下参数: ``` server-id = 2 replicate-do-db = your_database_name ``` 这些配置将启用从服务器进行复制并指定要复制的数据库。 - 重启从服务器使配置生效。 4. 启动复制过程:在从服务器上执行以下命令以开始复制过程: ``` CHANGE MASTER TO MASTER_HOST='master_server_ip', MASTER_USER='replication_user', MASTER_PASSWORD='replication_password'; START SLAVE; ``` 在上述命令中,将 `'master_server_ip'` 替换为主服务器的IP地址,并指定一个用于复制的用户名和密码。 5. 验证复制状态:使用以下命令在从服务器上验证复制状态: ``` SHOW SLAVE STATUS\G ``` 检查输出中的 `Slave_IO_Running` 和 `Slave_SQL_Running` 字段是否都为 `Yes`,这表示复制已经成功启动。 6. 配置应用程序:在应用程序的数据库连接配置中,将写操作连接到主服务器的IP地址,将读操作连接到从服务器的IP地址。 请注意,上述步骤仅提供了一个基本的配置示例,你可能需要根据你的环境和需求进行调整。此外,你还可以使用一些第三方工具和框架来简化和自动化读写分离配置过程,如MaxScale、ProxySQL等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值