mysql主从数据库(5.7版本)与python的交互及mycat

news2024/9/21 20:49:07

mysql数据库基本操作:

[root@m ~]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz         解压压缩包
[root@m ~]# ls
anaconda-ks.cfg
mysql-5.7.44-linux-glibc2.12-x86_64
mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
[root@m ~]# cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql
[root@m ~]# rm -rf  /etc/my.cnf
[root@m ~]# mkdir /usr/local/mysql/mysql-files
[root@m ~]# useradd -r -s /sbin/nologin mysql
[root@m ~]# chown mysql:mysql /usr/local/mysql/mysql-files/
[root@m ~]# chmod 750 /usr/local/mysql/mysql-files/        授予权限
[root@m ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/        进行初始化
2024-08-15T02:37:51.714490Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2024-08-15T02:37:51.883374Z 0 [Warning] InnoDB: New log files created, LSN=45790
2024-08-15T02:37:51.927026Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2024-08-15T02:37:51.985501Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5e50091b-5aaf-11ef-903e-000c2962cb99.
2024-08-15T02:37:51.986327Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2024-08-15T02:37:53.342567Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2024-08-15T02:37:53.342586Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2024-08-15T02:37:53.344783Z 0 [Warning] CA certificate ca.pem is self signed.
2024-08-15T02:37:53.842790Z 1 [Note] A temporary password is generated for root@localhost: UW2j.oFipqq=        获得原始密码
[root@m ~]# ls
anaconda-ks.cfg
mysql-5.7.44-linux-glibc2.12-x86_64
mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
[root@m ~]# ls /usr/local/mysql/
bin   docs     lib      man          README  support-files
data  include  LICENSE  mysql-files  share
[root@m ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql57
[root@m ~]# service mysql57 start         启动mysql
Starting MySQL.Logging to '/usr/local/mysql/data/m.sql.err'.
 SUCCESS! 

修改配置文件

[root@m ~]# vim /usr/local/mysql/my.cnf        主服务器的配置文件

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
log-error=/usr/local/mysql/data/db01-master.err
log-bin=/usr/local/mysql/data/binlog
server-id=10
character_set_server=utf8mb4

[root@m ~]# /usr/local/mysql/bin/mysql -p        开启mysql
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.44

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> alter user 'root'@'localhost' identified by 'root';        修改数据库账号
Query OK, 0 rows affected (0.00 sec)

mysql> create user 'chz'@'%' identified by 'chz';        创建可以连接外部的账号
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to 'chz'@'%';        授予权限
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> 

mysql> create database if not exists test charset utf8mb4
    -> ;
Query OK, 1 row affected (0.00 sec)

mysql> use test 
Database changed
mysql> create table user(id int primary key auto_increment,username varchar(45) not null,password varchar(45) not null);
Query OK, 0 rows affected (0.00 sec)

mysql> insert into user (username,password)values("aaa","aaa");
Query OK, 1 row affected (0.01 sec)

mysql> select * from user
    -> ;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | aaa      | aaa      |
+----+----------+----------+
1 row in set (0.00 sec)

mysql> 
mysql> select host ,user from mysql.user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | chz           |
| %         | slave0        |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
5 rows in set (0.00 sec)
mysql> update  mysql.user set host='%' where user='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;

交互

在python(写成脚本执行)

import pymysql
conn=pymysql.connect(host="192.168.2.50",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")

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

cursor.execute("unlock tables")        取消锁表

mycat

[root@mycat ~]# ls
anaconda-ks.cfg             jre-8u191-linux-x64.tar.gz
jdk-8u192-linux-x64.tar.gz  Mycat-server-1.6.5-release-20180122220033-linux.tar.gz
[root@mycat ~]# tar -xf jdk-8u192-linux-x64.tar.gz 
[root@mycat ~]# tar -xf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz 
[root@mycat ~]# ls
anaconda-ks.cfg             jre-8u191-linux-x64.tar.gz
jdk1.8.0_192                mycat
jdk-8u192-linux-x64.tar.gz  Mycat-server-1.6.5-release-20180122220033-linux.tar.gz
[root@mycat ~]# cp -r jdk1.8.0_192/ /usr/local/jdk
[root@mycat ~]# cp -r mycat/ /usr/local/

查看并且配置jdk文件

[root@mycat ~]# sed -i '$aexport JAVA_HOME=/usr/local/jdk'  /etc/profile
[root@mycat ~]# source /etc/profile
[root@mycat ~]# $JAVA_HOME
-bash: /usr/local/jdk: 是一个目录
[root@mycat ~]# sed -i '$aexport PATH=$PATH:$JAVA_HOME/bin'  /etc/profile
[root@mycat ~]# source /etc/profile
[root@mycat ~]# $PATH
-bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/jdk/BIN:/usr/local/jdk/bin: 没有那个文件或目录
[root@mycat ~]# java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)
[root@mycat ~]# javac -version
javac 1.8.0_192
[root@mycat ~]# /usr/local/mycat/bin/mycat console        启动mycat

Running Mycat-server...
wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    | 
jvm 1    | log4j:WARN No appenders could be found for logger (io.mycat.memory.MyCatMemory).
jvm 1    | log4j:WARN Please initialize the log4j system properly.
jvm 1    | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
jvm 1    | MyCAT Server startup successfully. see logs in logs/mycat.log        启动成功

[root@mycat ~]# vim /usr/local/mycat/conf/server.xml 

[root@mycat ~]# vim /usr/local/mycat/conf/server.xml 

数据库的账号,数据库的密码,数据库

注释掉

[root@mycat ~]# vim /usr/local/mycat/conf/schema.xml

删除前面的,然后修改

[root@mycat ~]# /usr/local/mycat/bin/mycat start
Starting Mycat-server...
[root@mycat ~]# netstat -lnput | grep 8066

测试连接

[root@client ~]# cd mysql-8.0.33-linuxglibc2.12-x86_64/

[root@client mysql-8.0.33-linuxglibc2.12-x86_64]# cd bin/

[root@client bin]# ./mysql -h10.1.1.60 - P8066 -uchz -pchz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2042338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu 批量杀死进程

ps -ef|grep python|grep server|grep -v grep|cut -c 9-16|xargs kill -9这个命令序列是一个在Linux或类Unix系统中使用的脚本片段,用于批量终止(强制杀死)所有与特定条件(这里是包含"python"和"wanghao"的&…

推荐浏览器爬虫插件:Instant Data Scraper 无需写一行代码

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

云计算29-------mysql主从数据库(5.7版本)与python的交互及mycat

mysql数据库基本操作: [rootm ~]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 解压压缩包 [rootm ~]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64 mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz [rootm ~]# cp -r mysql-5.7.44-lin…

如何判断树上一个点是否在直径上

# 旅游规划 ## 题目描述 W市的交通规划出现了重大问题,市政府下定决心在全市各大交通路口安排疏导员来疏导密集的车流。但由于人员不足,W市市长决定只在最需要安排人员的路口安排人员。 具体来说,W市的交通网络十分简单,由n个…

【Android Git】Mac配置支持 Gitlab、Gitee和阿里云效多平台

前言 在开发过程中,会遇到多平台项目管理问题,需要进行配置支持,常用的平台有Gitlab、Gitee、阿里云效等,本篇文章记录下使用同一邮箱配置支持的过程。 说明 首先认识下id_ras,一个用于SSH(安全外壳协议)…

java判断字符串某字符是否为大写/小写/数字?

Character类提供了很多静态方法,用于处理Unicode字符,如下: 也可以将字符转化成小写字母或大写字母。运用如下: 1是数字返回true a不是大写返回false a是小写返回true a转化成大写字母后为A A转化成小写字母后为a

备战金三银四、金九银十、软件测试面试问答

1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准: 根据需求说明书、产品说明、设计…

压缩软件里的文件名编码

由于默认编码环境不同,打包时正常的文件和目录,在解包时就是乱码了。就拿winrar来说,windows中文版下,默认的编码是GBK 你将一堆文件打包给mac用户或者linux用户,那边的默认编码是UTF8,解压出来文件内容没有…

前端进阶——浏览器篇

浏览器如何工作(一)进程架构 浏览器的工作过程复杂而高效,其核心在于其进程架构的设计。以下是对浏览器进程架构的详细解析: 一、浏览器的主要进程 现代浏览器大多采用多进程多线程的架构,以Chrome浏览器为例&…

你会读财务报表吗?快来看看如何正确解读

在现代商业的复杂网络中,每一家公司都像是一个精密运行的钟表,其运转的顺畅程度取决于各个齿轮的完美契合与精准配合。而财务报表,就像是是这钟表的指针,实时展现着公司运转的状态和效率,帮助管理者把握全局&#xff0…

用python实现视频中插入各种形式的文本,包括普通文本、数学公式、项目符号列表和标题

tex_mobject 模块提供了一系列可以使用 LaTeX 渲染文本的类。通过这个模块,你能够在视频中插入各种形式的文本,包括普通文本、数学公式、项目符号列表和标题等。具体类的功能如下: BulletedList:用于创建带项目符号的列表。MathT…

关于utf-8编码规范练习题

目录 一、代码内容 二、MySQL内容 三、代码遇到的问题 遭遇: 解决思路: 四、出现问题1 断点调试,分析问题 发现问题点: 问题解决 五、出现问题2 原因: 举例: 举例总结: 一、代码内容…

数学建模--浅谈多波束测线问题

目录 1.问题说明 2.问题分析 3.代码分析 1.问题说明 这个是国赛的真题,我们这个里面只是浅谈,就是对于这个里面运用的过程仿真的思路进行说明,这个探测的波束问题实际上也是一个简单的过程仿真问题,也是需要去进行作图的&#…

游戏管理系统

目录 Java程序设计课程设计 游戏管理系统 1系统简介 1.1需求分析 1.2 编程环境与工具 2系统总体设计 2.1 系统的功能模块图。 2.2 各功能模块简介。 3主要业务流程 (1)用户及管理员登录流程图 (2)信息添加流程 &#x…

Java语言程序设计——篇十三(3)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

virtual_host.hpp模块

目录 一.VirtualHost虚拟机模块介绍 二.VirtualHost的实现 1. 类概述 2. 交换机操作 3. 队列操作 4. 绑定操作 5. 消息操作 6. 清理操作 总结 三.全部代码 一.VirtualHost虚拟机模块介绍 虚拟机是对之前几个数据管理模块的整合,并封装了之前的一些操作。…

安装Jmeter,配置jdk

注意点: java的jdk和jmeter的版本相匹配 ! ! ! 目前我使用的是1.8的的,jmeter使用的是5.6.3 JDK下载地址:https://www.oracle.com/cn/java/technologies/downloads 别管,直接傻瓜式安装点点就完了... 1.电脑-属性-高级系统设置-环境变量 2.系统变量-新建-变量…

如何理解:进程控制

文章目录 前言:进程创建:进程终止:如何终止进程?进程等待非阻塞等待: 总结: 前言: ​ 对于前面的地址空间的学习,我们现在了解到原来所谓变量的地址其实是虚拟地址,该虚…

python管理mysql(实现读写分离)及如何用Mycat读写分离

Day24 编写python代码实现读写分离 1、安装pymysql,它是python管理mysql的驱动,或者称为连接器 [rootpyhton ~]#pip3 config set global.index-url Simple Index [rootpython ~]# pip3 install pymysql #安装pymysql [rootpyhton ~]# python3 …

【C++】什么是内存管理?

如果有不懂的地方,可以看我以往文章哦! 个人主页:CSDN_小八哥向前冲 所属专栏:C入门 目录 C/C内存分布 C内存管理方式 new/delete操作内置类型 new/delete操作自定义类型 operator new与operator delete函数 new和delete实现…