Ape Creation Call for Papers | Article de 10 000 caractères pour obtenir le déploiement et l'utilisation de la base de données MySQL dans l'entreprise

Annuaire d'articles

Installation binaire mysql et séparation lecture-écriture mycat

Bonjour ~ Chers fans, le contenu de cet article de blog présente principalement le déploiement pertinent d'un boîtier de stockage de données de projet dans une entreprise !

De nombreux amis pensent que tout le monde déploiera et installera mysql lorsqu'ils apprendront Linux. Mais en fait, msyql n'est généralement pas utilisé seul. Pour ce projet, il est combiné avec mycat pour séparer la lecture et l'écriture. Grâce à ce partage, Hope to share with vous tous.

1. Environnement d'apprentissage

Nom du processeur IP configurer
Maître 192.168.61.152 8 cœurs, mémoire 16G, disque 200G
trimer 192.168.61.153 8 cœurs, mémoire 16G, disque 200G

2. Initialiser l'environnement

2.1 Désactiver selinux et le pare-feu

[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

2.2 Modifier le nom d'hôte

[root@localhost ~]# hostnamectl set-hostname mysql_master

[root@localhost ~]# hostnamectl set-hostname mysql_slave

2.3 Configuration de la résolution de nom de domaine

[root@localhost ~]# vim /etc/hosts 新增集群域名解析
192.168.61.152 mysql_master
192.168.61.153 mysql_slave

insérez la description de l'image ici

2.4 Synchronisation horaire

[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

insérez la description de l'image ici

3.installation mysql

3.1 Serveur de téléchargement de paquets binaires

分别上传至:
192.168.61.152的/root/下
192.168.61.153的/root/下

insérez la description de l'image ici
insérez la description de l'image ici

3.2 Décompressez vers /home

[root@localhost ~]# tar zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /home

insérez la description de l'image ici

3.3 Effacer l'environnement système

[root@localhost ~]# rpm -qa |grep mariadb
[root@localhost ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

3.4 Créer un utilisateur mysql

[root@localhost ~]# useradd -s /sbin/nologin -M mysql

insérez la description de l'image ici

3.5 Créer un répertoire de données et accorder des autorisations

[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 Configurer le fichier 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 Initialiser la base de données

[root@localhost ~]# /home/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/home/mysql/ --datadir=/home/mysql/data/

3.8 démarrer 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

insérez la description de l'image ici

3.9 Configurer les variables d'environnement

[root@localhost ~]# vim /etc/profile 修改末尾添加两行
export PATH=$PATH:/home/mysql/support-files
export PATH=$PATH:/home/mysql/bin
[root@localhost ~]# source /etc/profile

insérez la description de l'image ici

3.10 Configurer le mot de passe

首先登录mysql
mysql 回车

insérez la description de l'image ici

root本地设置密码
mysql> SET PASSWORD = PASSWORD('123456');
mysql> FLUSH PRIVILEGES; 

insérez la description de l'image ici

3.11 Créer un nouvel utilisateur distant

mysql> grant all on *.* to deploy@'%' identified by '123456';

insérez la description de l'image ici

3.12 Créer un nouvel utilisateur de requête

#创建只能查询的用户
mysql> grant select on zhihui.* to query@'%' identified by '123456';

insérez la description de l'image ici

3.13 Autorisations de requête

#查询用户权限
mysql> use mysql
Database changed
mysql> select user,host from user;

3.14 Configurer le démarrage

[root@localhost ~]# chkconfig --add mysql
[root@localhost ~]# chkconfig --level 345 mysql on
[root@localhost ~]# chkconfig --list

insérez la description de l'image ici

3.15 Configuration du pare-feu

(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 Utiliser nacicat pour lier le test

insérez la description de l'image ici

3.17 Installation de mysql_slave

部署mysql_slave需要重复执行上面指令
注:slave的my.cnf中的server-id=2,该参数不要和master的一致。

连接slave_192.168.61.153数据库

insérez la description de l'image ici

4. Base de données maître et esclave

4.1 Préparatifs

确认事项,如下:
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 Travail de synchronisation des données

将主库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/

insérez la description de l'image ici

4.3 Autoriser la bibliothèque esclave

主库给从库授权
主库执行
mysql> grant replication slave on *.* to 'slave'@'192.168.61.153' identified by '123456';

注:授权从库192.168.61.153使用slave用户,密码123456访问主库的数据

insérez la description de l'image ici

从库登录测试
[root@mysql_slave mysql]# mysql -uslave -p123456 -h 192.168.61.152
mysql> show databases;

insérez la description de l'image ici

4.4 Configurer la bibliothèque principale

修改配置文件
[root@master ~]# vim /etc/my.cnf
[mysqld]
innodb_file_per_table=1
server_id=1 	#id号

insérez la description de l'image ici

注释:每个主机都需要有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)

insérez la description de l'image ici

4.5 Configurer la bibliothèque esclave

修改配置文件,从库执行
[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 Synchronisation maître-esclave

从库上执行

配置主从同步
[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 Essai de synchronisation

主服务器建库建表,主库执行
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 Sauvegarde des données

# 值得注意的是:
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. Séparation lecture-écriture Mycat

5.1 Contexte

随着互联网行业的蓬勃发展,应用程序的数据量也越来越大,我们仅仅通过单点数据库架构已经无法满足业务的需要,经常会出现查询缓慢,严重甚至宕机的情况。很多小伙伴可能会想,我们可以对 SQL 语句进行优化、MySQL 数据库优化、甚至采用主从高可用架构是不是就可以解决这个问题了呢?

答案是否定的,SQL 语句优化以及数据库层级的优化虽然可以加快 SQL 的查询速度,但是无法解决数据库的故障切换问题。那是不是主从高可用架构就可以解决这个问题呢,也不行,主从高可用架构虽然能解决数据库服务器的故障切换功能,但是无法解决数据库压力过大问题……

5.2 Présentation

Un grand cluster de bases de données entièrement open source pour le développement d'applications d'entreprise
• Une base de données améliorée qui prend en charge les transactions, ACID et peut remplacer MySQL
• Une base de données de niveau entreprise qui peut être considérée comme un cluster MySQL pour remplacer les clusters Oracle coûteux
• Une mémoire cache de fusion Nouveau SQL Server pour la technologie, technologie NoSQL, données volumineuses HDFS
• Une nouvelle génération de produits de base de données d'entreprise combinant des bases de données traditionnelles et de nouveaux entrepôts de données distribués
• Un nouveau produit middleware de base de données

La soi-disant séparation lecture-écriture est la séparation forcée des opérations de lecture-écriture de données via du code ou un middleware de base de données tiers. Les opérations d'écriture sont distribuées à tous les serveurs maîtres dans l'architecture maître-esclave (multi-maître et multi-esclave) (un basculement automatique peut être réalisé), et les opérations de lecture sont distribuées à tous les serveurs esclaves dans l'architecture maître-esclave, et l'équilibrage de charge d'opérations de lecture est réalisé.

5.3 Objectif de la séparation lecture-écriture

实际工作中,数据库服务器的读操作操作明显要大于写操作,大概比例为 7:3。我们采用读写分离架构就是将读写业务分配到不同的服务器上,让服务器做特定的操作,不需要不断的切换工作模式,从而提高数据库服务器的工作效率。

5.3 Installer mycat

5.3.1 Vue d'ensemble de l'environnement d'installation

IP nœud Remarque
192.168.61.152 nœud 01 Maître
192.168.61.153 nœud 02 trimer
192.168.61.151 mon chat Configuration minimale : 8 cœurs, 16 G de mémoire, 100 G de disque

5.3.2 Installer jdk

  • Télécharger le package d'installation jdk
  • configurer 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 Déployer mycat

  • Créer un utilisateur
[root@mycat ~]# useradd -s /sbin/nologin -M mycat
  • Décompressez le package d'installation
[root@mycat ~]# tar zxvf Mycat-server-1.6.7.6-release-20210930213049-linux.tar.gz -C /home/
  • Autoriser
[root@mycat ~]# chown -R mycat.mycat /home/mycat/
  • Configurer les variables d'environnement
.[root@mycat ~]# vim /etc/profile
export PATH=/home/mycat/bin:$PATH

insérez la description de l'image ici

[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的日志文件
  • démarrer mon chat
[root@mycat ~]# /home/mycat/bin/mycat restart
Starting Mycat-server... 

insérez la description de l'image ici
Port 8066 : l'application et le développeur écrivent du code pour se connecter au port mycat8066

5.3.3 Configurer mycat pour obtenir une séparation lecture-écriture

  • sauvegarde
[root@mycat mycat]# cd /home/mycat/
[root@mycat mycat]# cp conf/server.xml{,.bak}
[root@mycat mycat]# cp conf/schema.xml{,.bak}
  • Modifier serveur.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>
# 退出并保存

insérez la description de l'image ici

  • Modifier schema.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>

# 退出并保存

insérez la description de l'image ici

  • Présentation de l'algorithme
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 以后废弃不推荐。
  • redémarrer mon chat
root@mycat ~]# /home/mycat/bin/mycat restart
[root@mycat ~]# netstat -antp | grep -E "8066|9066"

insérez la description de l'image ici

5.3.4 Tester la séparation lecture-écriture

[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; //查看数据
  • analyse du journal
在主服务器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)

insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42313749/article/details/126634107
conseillé
Classement