Directorio de artículos
- Instalación binaria de mysql y separación de lectura y escritura de mycat
- 1. Ambiente de aprendizaje
- 2. Inicializar el entorno
- 3. instalación mysql
-
- 3.1 Servidor de carga de paquetes binarios
- 3.2 Descomprimir a /home
- 3.3 Borrar el entorno del sistema
- 3.4 Crear usuario mysql
- 3.5 Crear un directorio de datos y otorgar permisos
- 3.6 Configurar el archivo my.cnf
- 3.7 Inicializar la base de datos
- 3.8 iniciar mysql
- 3.9 Configurar variables de entorno
- 3.10 Configurar contraseña
- 3.11 Crear un nuevo usuario remoto
- 3.12 Crear un nuevo usuario de consulta
- 3.13 Consulta de permisos
- 3.14 Configurar el arranque
- 3.15 Configuración del cortafuegos
- 3.16 Usar nacicat para vincular la prueba
- 3.17 instalación de mysql_slave
- 4. Base de datos maestra y esclava
- 5. Separación de lectura y escritura Mycat
Instalación binaria de mysql y separación de lectura y escritura de mycat
hola ~ Estimados fanáticos, el contenido de esta publicación de blog presenta principalmente la implementación relevante de un caso de almacenamiento de datos de proyecto en una empresa.
Muchos amigos creen que todos implementarán e instalarán mysql cuando estén aprendiendo Linux. Pero, de hecho, msyql generalmente no se usa solo. Para este proyecto, se combina con mycat para separar la lectura y la escritura. A través de este intercambio, espero compartir con todos ustedes.
1. Ambiente de aprendizaje
nombre de la CPU | IP | configurar |
---|---|---|
Maestro | 192.168.61.152 | 8 núcleos, memoria 16G, disco 200G |
esclavo | 192.168.61.153 | 8 núcleos, memoria 16G, disco 200G |
2. Inicializar el entorno
2.1 Desactivar selinux y cortafuegos
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
2.2 Modificar el nombre de host
[root@localhost ~]# hostnamectl set-hostname mysql_master
[root@localhost ~]# hostnamectl set-hostname mysql_slave
2.3 Configuración de la resolución de nombres de dominio
[root@localhost ~]# vim /etc/hosts 新增集群域名解析
192.168.61.152 mysql_master
192.168.61.153 mysql_slave
2.4 Sincronización de tiempo
[root@localhost ~]# yum install chrony
[root@localhost ~]# vim /etc/chrony.conf
server mysql_master iburst
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
注:注释所有server项,在下面新增server mysql_master iburst
[root@localhost ~]# systemctl enable chronyd.service
[root@localhost ~]# systemctl restart chronyd.service
[root@localhost ~]# chronyc sources
3. instalación mysql
3.1 Servidor de carga de paquetes binarios
分别上传至:
192.168.61.152的/root/下
192.168.61.153的/root/下
3.2 Descomprimir a /home
[root@localhost ~]# tar zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /home
3.3 Borrar el entorno del sistema
[root@localhost ~]# rpm -qa |grep mariadb
[root@localhost ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
3.4 Crear usuario mysql
[root@localhost ~]# useradd -s /sbin/nologin -M mysql
3.5 Crear un directorio de datos y otorgar permisos
[root@localhost ~]# mkdir -p /home/mysql/data #数据目录
[root@localhost ~]# mkdir -p /home/mysql/logs #日志目录
[root@localhost ~]# touch /home/mysql/logs/error.log #创建日志文件
[root@localhost ~]# mkdir -p /home/mysql/backup #备份目录
[root@localhost ~]# chown mysql:mysql -R /home/mysql #赋予权限
3.6 Configurar el archivo my.cnf
[root@localhost mysql]# cat /etc/my.cnf
[mysql]
socket=/home/mysql/mysql.sock
# set mysql client default chararter
default-character-set=utf8
[mysqld]
socket=/home/mysql/mysql.sock
# set mysql server port
port = 3306 # 默认是3306,如果这里发现3306已经被占用,可以更改
# set mysql install base dir
basedir=/home/mysql
# set the data store dir
datadir=/home/mysql/data/
pid-file=/home/mysql/mysql.pid
# set the number of allow max connnection
max_connections=2048 #最大连接数
# set server charactre default encoding
character-set-server=utf8
# the storage engine
default-storage-engine=INNODB
# 设置MySQL对表名等不区分大小写
lower_case_table_names=1
max_allowed_packet=200M
explicit_defaults_for_timestamp=true
#阻止过多尝试失败的客户端以防止暴力破解密码的情况,与性能并无太大的关系
max_connect_errors=30
#此参数确定数据日志文件的大小,以M为单位,根据数据更新频率调整。
innodb_log_file_size=50
#指定大小的内存来缓冲数据和索引,最大可以把该值设置成物理内存的80%
innodb_buffer_pool_size=10G
key_buffer_size=16M
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
log-bin=/home/mysql/logs/mysql-bin #开启binlog日志
binlog-format=ROW #选择row模式
expire_logs_days=30 #日志的保存天数
#错误日志存放地址
log-error = /home/mysql/logs/error.log
#开启slow日志
slow_query_log = ON
slow_query_log_file = /home/mysql/logs/slow.log
long_query_time = 20
log_queries_not_using_indexes
server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复
innodb_file_per_table=1
[mysql.server]
user=mysql
basedir=/home/mysql
#可以防止出现插入中文报错;如果此时不生效,可以强制在创建表的时候指定使用utf8的编码集
[client]
default-character-set = utf8
3.7 Inicializar la base de datos
[root@localhost ~]# /home/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/home/mysql/ --datadir=/home/mysql/data/
3.8 iniciar mysql
先将mysql.server放置到/etc/init.d/mysql中
[root@localhost ~]# cp /home/mysql/support-files/mysql.server /etc/init.d/mysql
启动
[root@localhost ~]# /etc/init.d/mysql restart
3.9 Configurar variables de entorno
[root@localhost ~]# vim /etc/profile 修改末尾添加两行
export PATH=$PATH:/home/mysql/support-files
export PATH=$PATH:/home/mysql/bin
[root@localhost ~]# source /etc/profile
3.10 Configurar contraseña
首先登录mysql
mysql 回车
root本地设置密码
mysql> SET PASSWORD = PASSWORD('123456');
mysql> FLUSH PRIVILEGES;
3.11 Crear un nuevo usuario remoto
mysql> grant all on *.* to deploy@'%' identified by '123456';
3.12 Crear un nuevo usuario de consulta
#创建只能查询的用户
mysql> grant select on zhihui.* to query@'%' identified by '123456';
3.13 Consulta de permisos
#查询用户权限
mysql> use mysql
Database changed
mysql> select user,host from user;
3.14 Configurar el arranque
[root@localhost ~]# chkconfig --add mysql
[root@localhost ~]# chkconfig --level 345 mysql on
[root@localhost ~]# chkconfig --list
3.15 Configuración del cortafuegos
(1) 向防火墙添加 mysql 端口:
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
(2) 刷新防火墙规则:
[root@localhost ~]# firewall-cmd --reload
(3) 验证端口,查询防火墙开放端口:
[root@localhost ~]# firewall-cmd --list-port
3.16 Usar nacicat para vincular la prueba
3.17 instalación de mysql_slave
部署mysql_slave需要重复执行上面指令
注:slave的my.cnf中的server-id=2,该参数不要和master的一致。
连接slave_192.168.61.153数据库
4. Base de datos maestra y esclava
4.1 Preparativos
确认事项,如下:
1.尽量保持主服务器和从服务器的服务版本一致
2.关闭iptables,关闭selinux,保证时间的一致
3.设置主机名(方便区分主从)
4.master端开启binlog日志功能
5.主服务器正常的情况下,从服务器永远不要写入
6.主与从服务器的server id 不能相同
7.mysql_master_192.168.61.152
8.mysql_slave_192.168.61.153
4.2 Trabajo de sincronización de datos
将主库master中的库数据导入从库中
主库执行:
[root@mysql_master home]# ln -s /home/mysql/mysql.sock /tmp/
[root@mysql_master home]# mysqldump -uroot -p --all-databases >> /home/mysql/backup/all.sql
[root@mysql_master home]# scp /home/mysql/backup/all.sql 192.168.61.153:/home/mysql/backup/
4.3 Autorizar la biblioteca esclava
主库给从库授权
主库执行
mysql> grant replication slave on *.* to 'slave'@'192.168.61.153' identified by '123456';
注:授权从库192.168.61.153使用slave用户,密码123456访问主库的数据
从库登录测试
[root@mysql_slave mysql]# mysql -uslave -p123456 -h 192.168.61.152
mysql> show databases;
4.4 Configurar la biblioteca principal
修改配置文件
[root@master ~]# vim /etc/my.cnf
[mysqld]
innodb_file_per_table=1
server_id=1 #id号
注释:每个主机都需要有id号 ,范围是1-65535,是什么数字都可以,但需要保证主从不冲突
生成新的日志文件
[root@mysql_master ~]# cd /home/mysql/logs/
[root@mysql_master logs]# rm -rf mysql-bin.*
[root@mysql_master logs]# /etc/init.d/mysql restart
[root@mysql_master logs]# ls mysql-bin.*
mysql-bin.000001 mysql-bin.index
查看日志位置和状态
mysql> show binlog events\G
mysql> show master status\G
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 154 从154开始的
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
4.5 Configurar la biblioteca esclava
修改配置文件,从库执行
[root@mysql_slave ~]# vim /etc/my.cnf
[mysqld]
server-id=2
[root@mysql_slave ~]# /etc/init.d/mysql restart
查看slave状态
[root@mysql_slave ~]# mysql -uroot -p123456
mysql> show slave status\G;
Empty set (0.00 sec)
4.6 Sincronización maestro-esclavo
从库上执行
配置主从同步
[root@mysql_slave ~]# mysql -uroot -p123456
mysql> change master to
master_host='192.124.16.76',
master_user='slave',
master_password='123456',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=154;
Query OK, 0 rows affected, 2 warnings (0.50 sec)
启动从服务器的角色
mysql> start slave;
Query OK, 0 rows affected (0.03 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.61.152 主库地址
Master_User: slave 同步用户
Master_Port: 3306 同步端口
Connect_Retry: 60 重试时间
Master_Log_File: mysql-bin.000001 日志文件
Read_Master_Log_Pos: 154 日志位置字符偏移量
Relay_Log_File: mysql_slave-relay-bin.000002 中继日志
Relay_Log_Pos: 320 中继日志记录到哪里了
Relay_Master_Log_File: mysql-bin.000001 日志文件
Slave_IO_Running: Yes 两个进程都正常
Slave_SQL_Running: Yes Yes就是读中继日志了
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 120
Relay_Log_Space: 454
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: e7955f48-f699-11de-b03d-6cf049c2f465
Master_Info_File: /usr/local/mysql/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
4.7 Prueba de sincronización
主服务器建库建表,主库执行
mysql> create database kkk;
mysql> use kkk
mysql> create table t1(id int);
mysql> insert into t1 values(10000);
mysql> flush logs;
从服务器查看效果
mysql> use kkk
mysql> select * from t1;
+-------+
| id |
+-------+
| 10000 |
+-------+
1 row in set (0.00 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.61.152
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 154
Relay_Log_File: mysql_slave-relay-bin.000004
Relay_Log_Pos: 367
Relay_Master_Log_File: mysql-bin.000002 #第2个日志了
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 154
Relay_Log_Space: 627
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: 33786cf9-e55c-11ec-8d84-000c29ada541
Master_Info_File: /home/mysql/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)
4.8 Copia de seguridad de datos
# 值得注意的是:
AB复制并不意味着可以不用备份,因为如果master上删除了一个库,slave上会跟着删掉,所以备份还是需要的
使用mysqldump在从服务器上锁表备份,(选择执行下面参数)
mysql> flush tables with read lock;
[root@master ~]# mysqldump --all-databases > all.sql
[root@master ~]# mysql -e 'show master status'
mysql> unlock tables; //解锁表
5. Separación de lectura y escritura Mycat
5.1 Antecedentes
随着互联网行业的蓬勃发展,应用程序的数据量也越来越大,我们仅仅通过单点数据库架构已经无法满足业务的需要,经常会出现查询缓慢,严重甚至宕机的情况。很多小伙伴可能会想,我们可以对 SQL 语句进行优化、MySQL 数据库优化、甚至采用主从高可用架构是不是就可以解决这个问题了呢?
答案是否定的,SQL 语句优化以及数据库层级的优化虽然可以加快 SQL 的查询速度,但是无法解决数据库的故障切换问题。那是不是主从高可用架构就可以解决这个问题呢,也不行,主从高可用架构虽然能解决数据库服务器的故障切换功能,但是无法解决数据库压力过大问题……
5.2 Introducción
Un gran clúster de base de datos completamente de código abierto para el desarrollo de aplicaciones empresariales
• Una base de datos mejorada que admite transacciones, ACID y puede reemplazar a MySQL
• Una base de datos de nivel empresarial que puede considerarse como un clúster de MySQL para reemplazar costosos clústeres de Oracle
• Una memoria caché de fusión Nuevo SQL Server para tecnología, tecnología NoSQL, big data HDFS
• Una nueva generación de productos de base de datos de nivel empresarial que combina bases de datos tradicionales y nuevos almacenes de datos distribuidos
• Un novedoso producto de middleware de base de datosLa llamada separación de lectura y escritura es la separación forzada de operaciones de lectura y escritura de datos a través de código o middleware de base de datos de terceros. Las operaciones de escritura se distribuyen a todos los servidores maestros en la arquitectura maestro-esclavo (multi-maestro y multi-esclavo) (se puede lograr una conmutación por error automática), y las operaciones de lectura se distribuyen a todos los servidores esclavos en la arquitectura maestro-esclavo y equilibrio de carga. de operaciones de lectura se realiza.
5.3 Propósito de la separación de lectura y escritura
实际工作中,数据库服务器的读操作操作明显要大于写操作,大概比例为 7:3。我们采用读写分离架构就是将读写业务分配到不同的服务器上,让服务器做特定的操作,不需要不断的切换工作模式,从而提高数据库服务器的工作效率。
5.3 Instalar mycat
5.3.1 Resumen del entorno de instalación
ip | nodo | Observación |
---|---|---|
192.168.61.152 | nodo 01 | Maestro |
192.168.61.153 | nodo 02 | esclavo |
192.168.61.151 | mi gato | Configuración mínima: 8 núcleos, memoria 16G, disco 100G |
5.3.2 Instalar jdk
- Sube el paquete de instalación de jdk
- configurar jdk
1. 解压缩
[root@localhost ~]# hostnamectl set-hostname mycat
[root@localhost ~]# tar zxvf jdk-8u141-linux-x64.tar.gz -C /usr/local/
2. 配置环境变量
[root@mycat ~]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_141
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
[root@mycat ~]# source /etc/profile
3.配置域名
[root@mycat ~]# vim /etc/hosts #添加
192.168.61.152 mysql_master
192.168.61.153 mysql_slave
192.168.61.151 mycat
4.测试jdk 安装是否成功
[root@mycat ~]# java -version
5.3.2 Implementar mycat
- crear usuario
[root@mycat ~]# useradd -s /sbin/nologin -M mycat
- Descomprimir el paquete de instalación
[root@mycat ~]# tar zxvf Mycat-server-1.6.7.6-release-20210930213049-linux.tar.gz -C /home/
- Autorizar
[root@mycat ~]# chown -R mycat.mycat /home/mycat/
- Configurar variables de entorno
.[root@mycat ~]# vim /etc/profile
export PATH=/home/mycat/bin:$PATH
[root@mycat ~]# source /etc/profile
[root@mycat mycat]# ll
总用量 12
drwxr-xr-x. 2 mycat mycat 190 6月 6 15:59 bin
drwxrwxrwx. 2 mycat mycat 6 4月 15 2020 catlet
drwxrwxrwx. 4 mycat mycat 4096 6月 6 15:59 conf
drwxr-xr-x. 2 mycat mycat 4096 6月 6 15:59 lib
drwxrwxrwx. 2 mycat mycat 6 9月 16 2021 logs
-rwxrwxrwx. 1 mycat mycat 227 9月 30 2021 version.txt
注释:
conf:java写的配置文件大多以xml为结尾
conf/schema.xml:虚拟数据库对应后端真实数据的ip和真正数据库的名字
conf/server.xml:mycat呈现给应用程序的虚拟库名、连接的用户名和密码
logs/wrapper.log:mycat的日志文件
- iniciar mi gato
[root@mycat ~]# /home/mycat/bin/mycat restart
Starting Mycat-server...
Puerto 8066: la aplicación y el desarrollador escriben código para conectarse al puerto mycat8066
5.3.3 Configurar mycat para lograr la separación de lectura y escritura
- respaldo
[root@mycat mycat]# cd /home/mycat/
[root@mycat mycat]# cp conf/server.xml{,.bak}
[root@mycat mycat]# cp conf/schema.xml{,.bak}
- Modificar servidor.xml
# 注:需要修改的地方标成紫色
# 修改底部管理员用户和只读用户信息及密码,配置schemas
[root@mycat ~]# vim /usr/local/mycat/conf/server.xml
<user name="mycatadmin" defaultAccount="true">
<property name="password">123456</property>
<property name="schemas">kkk,app</property>
</user>
<user name="mycatuser">
<property name="password">123456</property>
<property name="schemas">kkk,app</property>
<property name="readOnly">true</property>
</user>
# 退出并保存
- Modificar esquema.xml
定义虚拟数据库,虚拟数据库关联数据节点,数据节点中定义真实数据库的名字;同时dataNode还需要关联数据主机,数据主机中分别定义了真正后端数据库的端口号和ip以及连接数据库的用户名和密码
# 替换为以下内容 # 其中192.168.61.152为写主机(主数据库)IP,192.168.61.153为读主机(从数据库)IP。
[root@mycat ~]# vim /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="kkk" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
</schema>
<schema name="app" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn2">
</schema>
<dataNode name="dn1" dataHost="mycat" database="kkk" />
<dataNode name="dn2" dataHost="mycat" database="app" />
<dataHost name="mycat" maxCon="2048" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="mysql_master" url="192.168.61.152:3306" user="deploy" password="123456">
<readHost host="mysql_slave" url="192.168.61.153:3306" user="deploy" password="123456" />
</writeHost>
</dataHost>
</mycat:schema>
# 退出并保存
- Introducción al algoritmo
balance 属性
1. balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的writeHost 上。
2. balance="1", 全部的 readHost 与 stand by writeHost备用写主机参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2
互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。
4. balance="2", 所有读操作都随机的在 writeHost、readhost 上分发。
5. balance="3", 所有读请求随机的分发到 wiriterHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance=3 只在 1.4 及其以后版本有,1.3 没有。
writeType 属性
1. writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后以切换后的为准.
2. writeType="1",所有写操作都随机的发送到配置的 writeHost,1.5 以后废弃不推荐。
- reiniciar mi gato
root@mycat ~]# /home/mycat/bin/mycat restart
[root@mycat ~]# netstat -antp | grep -E "8066|9066"
5.3.4 Prueba de separación de lectura y escritura
[root@mysql_master ~]# mysql -u mycatadmin -p -h 192.168.61.151 -P 8066
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.29-mycat-1.6.7.6-release-20210930213049 MyCat Server (OpenCloudDB)
Copyright (c) 2000, 2021, 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> show databases;
+----------+
| DATABASE |
+----------+
| app |
| kkk |
+----------+
2 rows in set (0.01 sec)
mysql> use app;
mysql> create table student1( id int,name varchar(50),sex enum('male','female'),age int); //创建表
mysql> insert into student1 values (1,'tom','male',23), (2,'jack','male',21),(3,'alice','female',19); //写入数据
mysql> select name,sex from student1; //查看数据
- análisis de registro
在主服务器192.168.61.152上查看数据
[root@mysql_master ~]# tail -f /home/mysql/data/mysql_master.log
2022-06-06T14:12:06.334119Z 18 Query insert into student1 values (1,'tom','male',23), (2,'jack','male',21),(3,'alice','female',19)