# sharding-jdbc **Repository Path**: cjq_demo/sharding-jdbc ## Basic Information - **Project Name**: sharding-jdbc - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-14 - **Last Updated**: 2025-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Springboot + Mybatis-Plus + Sharding-JDBC + MySQL + 主从复制 + 读写分离 ## 主库配置: my.ini文件: [mysqld] ```text server-id=1 log-bin=mysql-bin binlog-do-db=master_db binlog-ignore-db=mysql binlog-ignore-db=information_schema ``` 重启数据库 ## 从库配置: my.cnf文件: ```text [mysqld] server-id=2 relay-log=mysql-relay-bin log-slave-updates=1 read-only=1 replicate-rewrite-db = master_db->slave1 ``` 重启数据库 ## 主库执行: ```sql -- 先删除旧用户(如果存在) DROP USER 'repl'@'192.168.1.5'; -- 从库IP -- 重新创建并授权(替换成你的密码) CREATE USER 'repl'@'192.168.1.5' IDENTIFIED BY 'Cjq#1q2w3e4r5t'; GRANT ALL PRIVILEGES ON master_db.* TO 'repl'@'192.168.1.5'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.5'; FLUSH PRIVILEGES; SHOW MASTER STATUS; ``` ## 从库执行: ```sql STOP SLAVE; CHANGE MASTER TO MASTER_HOST='192.168.1.133', MASTER_USER='repl', MASTER_PASSWORD='Cjq#1q2w3e4r5t', -- 与主库创建用户时的密码一致 MASTER_LOG_FILE='mysql-bin.000001', -- 上一步:SHOW MASTER STATUS结果获取 MASTER_LOG_POS=154470; -- 上一步:SHOW MASTER STATUS结果获取 START SLAVE; SHOW SLAVE STATUS ``` ## 重启数据库: ```shell sudo service mysqld restart ``` ### 测试请求: ```text curl --location --request POST 'http://localhost:10007/user' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "张三", "age": 25, "email": "zhangsan@example.com" }' curl --location --request GET 'http://localhost:10007/user' ```