MySQL 8.0安装部署-运维笔记

网友投稿 1057 2022-10-13

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

MySQL 8.0安装部署-运维笔记

MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!

一.  Mysql8.0版本相比之前版本的一些特性

1) 默认编码utf8默认编码使用utf8mb4, utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符历史,MySQL数据库的 "utf8"并不是真正概念里的 UTF-8。MySQL中的"utf8"编码只支持最大3字节每字符。真正的大家正在使用的UTF-8编码是应该能支持4字节每个字符。MySQL的开发者没有修复这个bug。他们在2010年增加了一个变通的方法:一个新的字符集"utf8mb4"另外,utf-32编码固定使用4字节,32bit存储相比utf8浪费空间。

2) 降序索引在之前的版本中可以创建,但是实际创建的还是升序索引

mysql> create table t1(id1 int,id2 int,key(id1,id2 desc));Query OK, 0 rows affected (0.10 sec) mysql> show create table t1 \G;*************************** 1. row *************************** Table: t1Create Table: CREATE TABLE `t1` ( `id1` int(11) DEFAULT NULL, `id2` int(11) DEFAULT NULL, KEY `id1` (`id1`,`id2` DESC)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci1 row in set (0.00 sec) ERROR: No query specified

另外,由于降序索引的引入,MySQL 8.0再也不会对group by操作进行隐式排序

3) 隐藏索引隐藏索引的特性对于性能调试非常有用。当一个索引隐藏时,它不会被查询优化器所使用。也就是说,我们可以隐藏一个索引,然后观察对数据库的影响。如果数据库性能有所下降,就说明这个索引是有用的,于是将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以删掉了.

mysql> create index idx2 on t1(id1);Query OK, 0 rows affected (0.35 sec)Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table t1 alter index idx2 invisible;Query OK, 0 rows affected (0.09 sec)Records: 0 Duplicates: 0 Warnings: 0 mysql> show index from t1 where key_name='idx2' \G;*************************** 1. row *************************** Table: t1 Non_unique: 1 Key_name: idx2 Seq_in_index: 1 Column_name: id1 Collation: A Cardinality: 0 Sub_part: NULL Packed: NULL Null: YES Index_type: BTREE Comment: Index_comment: Visible: NO1 row in set (0.01 sec) ERROR: No query specified

当索引被隐藏时,它的内容仍然是和正常索引一样实时更新的,此特性是专门为优化调试使用。如果长期隐藏一个索引,那还不如干脆删掉,因为毕竟索引存在会影响插入、更新和删除的性能.

4) 设置持久化在oracle中可以使用scope设置参数确定是否到spfile, 现在mysql8.0也可以放在文件中了,使用方法:

mysql> show variables like 'max_connects';Empty set (0.07 sec) mysql> show variables like 'max_connections';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_connections | 500 |+-----------------+-------+1 row in set (0.01 sec) mysql> set persist max_connections=1000;Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'max_connections';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_connections | 1000 |+-----------------+-------+1 row in set (0.01 sec)

可以查看在数据目录datadir中的一个mysqld-auto.cnf文件中保存了设置,下次启动时候将用此配置覆盖默认配置参数{ "Version" : 1 , "mysql_server" : { "max_connections" : { "Value" : "1000" , "Metadata" : { "Timestamp" : 1540437420567571 , "User" : "root" , "Host" : "" } } } }

5) 通用表表达式(Common Table Expressions)也可以称为虚拟视图,大大简化复杂查询

mysql> WITH -> t1 AS (SELECT * FROM t1), -> t2 AS (SELECT * FROM t1) -> SELECT t1.*, t2.* -> FROM t1, t2;+------+------+------+------+| id1 | id2 | id1 | id2 |+------+------+------+------+| 1 | 2 | 1 | 2 |+------+------+------+------+1 row in set (0.00 sec)

6) 窗口函数(Window Functions)MySQL 被吐槽最多的特性之一就是缺少 rank() 函数,当需要在查询当中实现排名时,必须手写 @ 变量。但是从 8.0 开始,MySQL 新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式说明,窗口可以单独创建。

mysql> create table tbl2(name varchar(10),amount int);Query OK, 0 rows affected (0.16 sec) mysql> insert into tbl2 values('usa',100),('china',101),('japan',103),('russian',99);Query OK, 4 rows affected (0.13 sec)Records: 4 Duplicates: 0 Warnings: 0 mysql> select t1.*,rank() over w as 'rank' from tbl2 as t1 window w as (order by amount);+---------+--------+------+| name | amount | rank |+---------+--------+------+| russian | 99 | 1 || usa | 100 | 2 || china | 101 | 3 || japan | 103 | 4 |+---------+--------+------+4 rows in set (0.00 sec) mysql> select t1.*,rank() over() as 'rank' from tbl2 as t1;+---------+--------+------+| name | amount | rank |+---------+--------+------+| usa | 100 | 1 || china | 101 | 1 || japan | 103 | 1 || russian | 99 | 1 |+---------+--------+------+4 rows in set (0.00 sec) mysql> select t1.*,rank() over(order by amount) as 'rank' from tbl2 as t1;+---------+--------+------+| name | amount | rank |+---------+--------+------+| russian | 99 | 1 || usa | 100 | 2 || china | 101 | 3 || japan | 103 | 4 |+---------+--------+------+4 rows in set (0.00 sec) mysql> select t1.*,sum() over() as 'rank' from tbl2 as t1;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') over() as 'rank' from tbl2 as t1' at line 1mysql> select t1.*,sum(amount) over() as 'sum' from tbl2 as t1;+---------+--------+------+| name | amount | sum |+---------+--------+------+| usa | 100 | 403 || china | 101 | 403 || japan | 103 | 403 || russian | 99 | 403 |+---------+--------+------+4 rows in set (0.00 sec)

8) 增加JSON (json enhancements)AND OpenGIS spatial typesmysql提供了很多json相关的函数和API接口,添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT() 函数,以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函数

9) 原子数据定义语句(原子DDL)(Atomic Data Definition Statements (Atomic DDL))

10) 资源管理(Resource management)MySQL现在支持资源组的创建和管理,并允许将服务器内运行的线程分配给特定组,以便线程根据组可用的资源执行。组属性可以控制其资源,以启用或限制组中线程的资源消耗

11) Data dictionaryMySQL现在包含一个事务数据字典,用于存储有关数据库对象的信息,In previous MySQL releases, dictionary data was stored in metadata files and nontransactional tables比如myisam和innodb表定义frm文件等.

12) innodb的增强1  每次值更改时,当前最大自动增量计数器值将写入重做日志,并保存到每个检查点上的引擎专用系统表中。这些更改使当前最大自动增量计数器值在服务器重新启动时保持不变。2 遇到索引树损坏时, InnoDB将损坏标志写入重做日志,这会使损坏标志崩溃安全。InnoDB还将内存中损坏标志数据写入每个检查点上的引擎专用系统表。在恢复期间, InnoDB从两个位置读取损坏标志并在将内存表和索引对象标记为损坏之前合并结果。3 InnoDB 分布式缓存插件支持多个get操作(读取在一个单一的多键/值对分布式缓存查询)和范围查询;4 新的动态配置选项 innodb_deadlock_detect可用于禁用死锁检测。在高并发系统上,当许多线程等待同一个锁时,死锁检测会导致速度减慢。有时,禁用死锁检测可能更有效,并且在innodb_lock_wait_timeout发生死锁时依赖于事务回滚的设置。5 INFORMATION_SCHEMA.INNODB_CACHED_INDEXES 表报告InnoDB每个索引缓冲池中缓存的索引页数 。6 InnoDB现在,在共享临时表空间中创建临时表ibtmp1。7 InnoDB 表空间加密功能支持重做日志的加密和撤消日志数据;8 InnoDB支持 NOWAIT和SKIP LOCKED选项SELECT ... FOR SHARE以及SELECT ... FOR UPDATE锁定读取语句。 NOWAIT如果请求的行被另一个事务锁定,则会立即返回该语句。SKIP LOCKED从结果集中删除锁定的行SELECT ... FOR SHARE替换 SELECT ... LOCK IN SHARE MODE,但LOCK IN SHARE MODE仍可用于向后兼容;9 支持ADD PARTITION,DROP PARTITION,COALESCE PARTITION,REORGANIZE PARTITION,和REBUILD PARTITION ALTER TABLE选项;10 InnoDB存储引擎现在使用MySQL的数据字典,而不是它自己的存储引擎特定的数据字典;11 mysql系统表和数据字典表现在在MySQL数据目录中InnoDB命名的单个表空间文件创建mysql.ibd。以前,这些表是InnoDB在mysql数据库目录中的各个表空间文件中创建的;

二.  Mysql8.0安装 (YUM方式)

三.  Mysql8.0安装 (二进制方式)

MySQL单机多实例安装配置                                                                        通过上面二进制部署可知, 已经起来一个3306端口的MySQL实例, 现在需要再起来两个实例, 分别为3307, 3308. 操作如下:

创建实例的数据目录[root@mysql-node ~]# mkdir -p /data/mysql3307/{data,log,binlog,conf,tmp} [root@mysql-node ~]# mkdir -p /data/mysql3308/{data,log,binlog,conf,tmp} [root@mysql-node ~]# chown -R mysql.mysql /data/mysql3307[root@mysql-node ~]# chown -R mysql.mysql /data/mysql3308配置mysql[root@mysql-node ~]# cp -r /data/mysql/conf/my.cnf /data/mysql3307/conf/[root@mysql-node ~]# cp -r /data/mysql/conf/my.cnf /data/mysql3308/conf/[root@mysql-node ~]# sed -i 's#/data/mysql/#/data/mysql3307/#g' /data/mysql3307/conf/my.cnf[root@mysql-node ~]# sed -i 's#/data/mysql/#/data/mysql3308/#g' /data/mysql3308/conf/my.cnf [root@mysql-node ~]# sed -i 's/3306/3307/g' /data/mysql3307/conf/my.cnf [root@mysql-node ~]# sed -i 's/3306/3308/g' /data/mysql3308/conf/my.cnf [root@mysql-node ~]# chown -R mysql.mysql /data/mysql*进行初始化两个实例[root@mysql-node ~]# mysqld --defaults-file=/data/mysql3307/conf/my.cnf --initialize-insecure --user=mysql [root@mysql-node ~]# mysqld --defaults-file=/data/mysql3308/conf/my.cnf --initialize-insecure --user=mysql 接着启动mysqld[root@mysql-node ~]# mysqld_safe --defaults-file=/data/mysql3307/conf/my.cnf & [root@mysql-node ~]# mysqld_safe --defaults-file=/data/mysql3308/conf/my.cnf & [root@mysql-node ~]# ps -ef|grep mysqlmysql 23996 1 0 14:37 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/conf/my.cnfmysql 24743 23996 0 14:38 ? 00:00:17 /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/data/mysql/log/mysqld.err --open-files-limit=65535 --pid-file=/data/mysql/tmp/mysqld.pid --socket=/data/mysql/tmp/mysqld.sock --port=3306root 30473 23727 0 15:33 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql3307/conf/my.cnfmysql 31191 30473 17 15:33 pts/0 00:00:02 /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql3307/conf/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql3307/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql3307/log/mysqld.err --open-files-limit=65535 --pid-file=/data/mysql3307/tmp/mysqld.pid --socket=/data/mysql3307/tmp/mysqld.sock --port=3307root 31254 23727 0 15:33 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql3308/conf/my.cnfmysql 31977 31254 39 15:33 pts/0 00:00:02 /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql3308/conf/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql3308/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql3308/log/mysqld.err --open-files-limit=65535 --pid-file=/data/mysql3308/tmp/mysqld.pid --socket=/data/mysql3308/tmp/mysqld.sock --port=3308root 32044 23727 0 15:34 pts/0 00:00:00 grep --color=auto mysql[root@mysql-node ~]# lsof -i:3307COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmysqld 31191 mysql 22u IPv6 23144844 0t0 TCP *:opsession-prxy (LISTEN)[root@mysql-node ~]# lsof -i:3308COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmysqld 31977 mysql 22u IPv6 23145727 0t0 TCP *:tns-server (LISTEN)[root@mysql-node ~]# lsof -i:3306COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmysqld 24743 mysql 23u IPv6 23132988 0t0 TCP *:mysql (LISTEN)登录3307端口实例, 并设置密码[root@mysql-node ~]# mysql -S /data/mysql3307/tmp/mysqld.sock............mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.11 sec)mysql> flush privileges;Query OK, 0 rows affected (0.11 sec)退出, 使用新密码登录[root@mysql-node ~]# mysql -uroot -S /data/mysql3307/tmp/mysqld.sock -p123456 .............mysql> 同理, 登录3308端口实例, 并设置密码[root@mysql-node ~]# mysql -S /data/mysql3308/tmp/mysqld.sock...........mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.13 sec)mysql> flush privileges;Query OK, 0 rows affected (0.03 sec)退出, 使用新密码登录[root@mysql-node ~]# mysql -uroot -S /data/mysql3308/tmp/mysqld.sock -p123456....................mysql>==========================================3306, 3307, 3308三个端口实例的启动命令分别为:mysqld_safe --defaults-file=/data/mysql/conf/my.cnf & mysqld_safe --defaults-file=/data/mysql3307/conf/my.cnf & mysqld_safe --defaults-file=/data/mysql3308/conf/my.cnf & 登录命令分别为:mysql -uroot -S /data/mysql/tmp/mysqld.sock -p123456mysql -uroot -S /data/mysql3307/tmp/mysqld.sock -p123456mysql -uroot -S /data/mysql3308/tmp/mysqld.sock -p123456

编写mysql多端口实例的登录脚本

生产环境下的思路: 同一个业务库单独放在一个实例下, 不要混用数据库. 单机多实例间可以做主从或主主同步, 也可以在多机多实例之间坐主从或主主同步.比如: A机器有三个实例:  3310, 3311, 3312B机器有三个实例:  3310, 3311, 3312C机器有三个实例:  3310, 3311, 3312

则三台机器的每个对应的端口实例之间做主从或主主同步(GTID, MGR), 一主两从, 或三主模式.  (多实例环境最好不要用3306端口, 否则经常会出现一些误操作)

四.  Mysql8.0使用过程中踩过的一些坑

1)  创建用户和授权在mysql8.0创建用户和授权和之前不太一样了,其实严格上来讲,也不能说是不一样, 只能说是更严格, mysql8.0需要先创建用户(创建用户时要带@并指定地址, 则grant授权时的地址就是这个@后面指定的!, 否则grant授权就会报错!)和设置密码,然后才能授权。

mysql> create user 'kevin'@'%' identified by '123456';Query OK, 0 rows affected (0.04 sec)mysql> grant all privileges on *.* to 'kevin'@'%' with grant option; Query OK, 0 rows affected (0.04 sec)mysql> create user 'bobo'@'%' identified by '123456'; Query OK, 0 rows affected (0.06 sec)mysql> grant all privileges on *.* to 'bobo'@'%' with grant option;Query OK, 0 rows affected (0.03 sec)mysql> flush privileges;Query OK, 0 rows affected (0.04 sec)mysql> select host,user,authentication_string from mysql.user;+-----------+------------------+------------------------------------------------------------------------+| host | user | authentication_string |+-----------+------------------+------------------------------------------------------------------------+| % | bobo | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1 || % | kevin | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85 || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2 |+-----------+------------------+------------------------------------------------------------------------+

如果还是用Mysql5.7及之前版本的直接授权的方法, 会有报错:

mysql> grant all privileges on *.* to 'shibo'@'%' identified by '123456';ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '123456'' at line 1

2)  Mysql8.0默认是不能使用root账号进行远程登录的! root账号只能本地登录!

mysql> select host,user,authentication_string from mysql.user;+-----------+------------------+------------------------------------------------------------------------+| host | user | authentication_string |+-----------+------------------+------------------------------------------------------------------------+| % | bobo | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1 || % | kevin | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85 || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2 |+-----------+------------------+------------------------------------------------------------------------+6 rows in set (0.00 sec)如果想要远程登录, 则需要进行update更新下root账号的权限mysql> update mysql.user set host='%' where user="root";Query OK, 1 row affected (0.10 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.14 sec)mysql> select host,user,authentication_string from mysql.user;+-----------+------------------+------------------------------------------------------------------------+| host | user | authentication_string |+-----------+------------------+------------------------------------------------------------------------+| % | bobo | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1 || % | kevin | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85 || % | root | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2 || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |+-----------+------------------+------------------------------------------------------------------------+6 rows in set (0.00 sec)

这样就能在远程使用root账号登录该mysql8.0的数据库了

3) 修改root账号权限, 允许root账号远程登录后, 用navicat进行mysql的远程连接时,出现了弹窗报错:

出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password, 而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种:1) 一种是升级navicat驱动;2) 一种是把mysql用户登录密码加密规则还原成mysql_native_password;

这里选择第二种方法来解决:

#修改加密规则 mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; Query OK, 0 rows affected (0.16 sec)#更新一下用户的密码 mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';Query OK, 0 rows affected (0.08 sec)#刷新权限 mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.03 sec)

这样问题就解决了。

4) sqlyog链接时出现2058异常

1) 使用sqlyog链接时会出现2058的异常,此时我们需要修改mysql,命令行登录mysql(与修改密码中登录相同,使用修改后的密码),然后执行下面的命令: mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 其中password为自己修改的密码。然后SQLyog中重新连接,则可连接成功,OK。2) 如果报错:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'则使用下面命令: mysql > ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

5) 修改默认编码方式

mysql8.0默认编码方式为utf8mb4,因此使用时不需要修改,可使用如下命令查看:mysql > SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';如果需要修改其他编码方式,比如需要修改为utf8mb4,可以使用如下方式:修改mysql配置文件my.cnf, 找到后请在以下三部分里添加如下内容:[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'然后重启mysqld服务即可, 其中:character_set_client  (客户端来源数据使用的字符集)character_set_connection     (连接层字符集)character_set_database   (当前选中数据库的默认字符集)character_set_results (查询结果字符集)character_set_server (默认的内部操作字符集)========================================数据库连接参数中:characterEncoding=utf8 会被自动识别为utf8mb4,也可以不加这个参数,会自动检测。而autoReconnect=true 是必须加上的。

6) 部分参数配置查询命令

#查询mysql最大连接数设置mysql> show global variables like 'max_conn%';mysql> SELECT @@MAX_CONNECTIONS AS 'Max Connections';# 查看最大链接数mysql> show global status like 'Max_used_connections';# 查看慢查询日志是否开启以及日志位置mysql> show variables like 'slow_query%';# 查看慢查询日志超时记录时间mysql> show variables like 'long_query_time';# 查看链接创建以及现在正在链接数mysql> show status like 'Threads%';# 查看数据库当前链接mysql> show processlist;# 查看数据库配置mysql> show variables like '%quer%';

上一篇:一次真实的应急响应案例——篡改页面、挖矿(sysupdate、networkservice)(含靶场环境)
下一篇:实战 Kubernetes 中部署 MySQL 集群
相关文章

 发表评论

暂时没有评论,来抢沙发吧~