查询当前连接数:
mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 58 |
| Threads_connected | 57 | ###这个数值指的是打开的连接数
| Threads_created | 3676 |
| Threads_running | 4 | ###这个数值指的是激活的连接数,这个数值一般远低于connected数值
+-------------------+-------+
Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数
MySQL的zip解压安装备忘:
-
解压
- 在与bin目录平级的位置新建:my.ini文件,写入数据存放的路径:
[mysqld]
datadir=D:\Work\db\mysql\data - 进入bin目录执行:
mysqld.exe --install mysqld.exe --initialize net start mysql
- 进入初始化出来的data 目录,找到并打开 ***.err,找到初始的密码:A temporary password is generated for root@localhost: Rg1FNlOti#zO
- 登录后改密码:alter user 'root'@'localhost' identified by '123456';
统计mysql的数据量:
MySQL数据库中查询数据库表、字段总数量,查询数据总量 - 胜金 - 博客园
mysql查看执行sql语句的记录日志
开启日志模式
-- 1、设置
-- SET GLOBAL log_output = 'TABLE';SET GLOBAL general_log = 'ON'; //日志开启
-- SET GLOBAL log_output = 'TABLE'; SET GLOBAL general_log = 'OFF'; //日志关闭
-- 2、查询
SELECT * from mysql.general_log ORDER BY event_time DESC;
SELECT *, CAST(argument AS CHAR(10000) CHARACTER SET utf8) from mysql.general_log where command_type='Query' ORDER BY event_time DESC;
-- 3、清空表(delete对于这个表,不允许使用,只能用truncate)
-- truncate table mysql.general_log;
为什么utf8mb4的varchar类型的长度要定为191?
varchar(m) m代表的是字段中存储的字符数(一个英文字母,一个汉字,一个emoji表情都算一个字符)注:4.1版本之前是按字节,最大的限制是255字节。
varchar(50) 表示能存50个字母或50个汉字或50个emoji表情(不管内容占多少字节) ,可以通过length()函数查看占用的字节数。注:5.0以后是按字符,最大的限制是65535-3占位符号=65532字节。
原因:
InnoDB单列索引长度不能超过767字节,联合索引不能超过3072字节.
utf8每个字符占用3个字节,那么该列索引最大长度为floor(767/3)=255.
utf8mb4每个字符占用4个字节,那么该列索引最大长度为floor(767/4)=191.