python非交互连接mysql+mycat读写分离实现

python非交互连接mysql

>>>import pymysql

>>>conn=pymysql.connect(host="192.168.118.57",port=3306,database="test",user="root",password="root")

>>> cursor=conn.cursor()

>>> cursor.execute("create user 'slave0'@'%' identified by 'slave0'")

0

>>> cursor.execute("grant replication slave on *.* to 'slave0'@'%'")

0

>>> cursor.execute("flush privileges")

0

>>> cursor.execute("flush tables with read lock")

0

>>> cursor.execute("unlock tables")

0

>>> cursor.execute("flush tables with read lock")

0

>>> cursor.execute("show master status")

1

>>> print(cursor.fetchall())

(('binlog.000001', 1024, '', '', ''),)

>>>

可以将上述的python连接mysql编写成脚本:

vim test.py

import pymysql

conn=pymysql.connect(host="192.168.118.57",port=3306,database="test",user="root",password="root");

cursor=conn.cursor()

cursor.execute("create user 'slave2'@'%' identified by 'slave2'")

cursor.execute("grant replication slave on *.* to 'slave2'@'%'")

cursor.execute("flush privileges")

cursor.execute("flush tables with read lock")

cursor.execute("show master status")

print(cursor.fetchall())

isOk=input("slave server ok? y/n")

if isOK=='y':

cursor.execute("unlock tables")

mycat读写分离实现

mycat:独属于mysql主从的负载均衡策略,配置写主读从

mycat是用java开发的

步骤:

1.添加一个新主机(192.168.118.70),关闭防火墙,selinux,NetworkManager

2.上传jdk和mycat安装包

3.解压并添加到指定的位置

224 tar -xf jdk-8u192-linux-x64.tar.gz

225 tar -xf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz

226 cp -r jdk1.8.0_192/ /usr/local/jdk

227 cp -r mycat/ /usr/local/

4.查看并且配置jdk环境

229 ls /usr/local/jdk

230 sed -i '$aexport JAVA_HOME=/usr/local/jdk' /etc/profile

233 source /etc/profile

234 $JAVA_HOME

235 sed -i 'aexport PATH=PATH:$JAVA_HOME/bin' /etc/profile

236 source /etc/profile

237 $PATH

239 javac -version

root@allow \~\]# javac -version javac 1.8.0_192 5.测试启动mycat 240 ls /usr/local/mycat/ 241 ls /usr/local/mycat/bin 242 /usr/local/mycat/bin/mycat console 6.找到server.xml 和 schema.xml ls /usr/local/mycat/conf 7.配置server.xml vim /usr/local/mycat/conf/schema.xml ![](https://i-blog.csdnimg.cn/direct/83952d5940da43399fe2f2fc9f1ea632.png) 注释掉107-113行 8.配置schema.xml vim /usr/local/mycat/conf/schema.xm ![](https://i-blog.csdnimg.cn/direct/7fb1ab4f6fa9407e9c5a1f4301f30893.png) 代码解释: ![](https://i-blog.csdnimg.cn/direct/c1e826228b474225aaf504df96cb08db.png) 9.启动服务 / usr / local / mycat / bin / mycat start 10.检查启动是否成功 netstat -lnput \| grep 8066 tcp6 0 0 :::8066 :::\* LISTEN 3242/java 11.测试连接 \[root@master-mysql \~\]# mysql -h192.168.118.70 -P8066 -uwangjia -pwangjia mysql\> select \* from user; +----+----------+----------+ \| id \| username \| password \| +----+----------+----------+ \| 1 \| aaa \| aaa \| \| 2 \| bbb \| bbb \| +----+----------+----------+ 2 rows in set (0.05 sec) mysql\> show variables like 'server_id'; +---------------+-------+ \| Variable_name \| Value \| +---------------+-------+ \| server_id \| 15 \| +---------------+-------+ 1 row in set (0.01 sec)

相关推荐
Mikey_n4 分钟前
国产数据库怎么选?人大金仓 vs VStore
数据库
Dolphin_Home6 分钟前
Spring 事务避坑笔记:从入门到解决自调用陷阱
数据库·笔记·spring
石小千19 分钟前
排查Mysql死锁问题
数据库·mysql
冉冰学姐26 分钟前
SSM旅游足迹分享系统19i58(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·旅游·ssm 框架应用·旅游足迹分享·攻略管理·出行计划
在路上@Amos35 分钟前
Linux 命令行查看 串口hex数据
linux·运维·服务器
人工智能训练37 分钟前
Linux 系统核心快捷键表(可打印版)
linux·运维·服务器·人工智能·ubuntu·容器·openeuler
yaoxin52112339 分钟前
为什么 IRIS SQL 会比 Spring JDBC 更快?
数据库·sql·spring
M***Z21041 分钟前
SQL中如何添加数据
数据库·sql
Croa-vo1 小时前
Tesla Spring 2026 Co-op 面经:CodeSignal真题解析与通关攻略
java·后端·spring
p***s911 小时前
MySQL的底层原理与架构
数据库·mysql·架构