1 下载并安装mysql 8.0
官网下载比较慢,这里选择163的镜像
http://mirrors.163.com/mysql/Downloads/MySQL-8.0/
下载版本mysql-8.0.14-linux-glibc2.12-x86_64.tar
vbox

# cat /etc/issue
CentOS release 6.5 (Final)
yum -y install lrzsz
mysql依赖libaio库,需要安装这些依赖库
# vim /etc/sysctl.conf
vm.swappiness = 0
# sysctl -p
# cat /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq
# vim /etc/profile
export HISTTIMEFORMAT='%F %T '
# source /etc/profile
# vim /etc/sysconfig/clock
ZONE=Asia/Shanghai
UTC=false
ARC=false
# rm /etc/localtime
rm: remove regular file `/etc/localtime'? y
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# date
Wed Apr 17 10:49:52 CST 2019
# vim /etc/selinux/config
SELINUX=disabled
# setenforce 0
# vim /etc/security/limits.conf
mysql soft nofile 65535
mysql hard nofile 65535
# service iptables stop
# chkconfig iptables off
# id mysql
id: mysql: No such user
# rpm -qa|grep -i mysql
mysql-libs-5.1.71-1.el6.x86_64
# rpm -ev mysql-libs-5.1.71-1.el6.x86_64 --nodeps
# groupadd mysql
# useradd -g mysql mysql
# passwd mysql
# vim /home/mysql/.bash_profile
export LANG=en_US.UTF-8
export PATH=/usr/local/mysql/bin:$PATH
export MYSQL_PS1="(\u@\h:\p) [\d]> "
# source /home/mysql/.bash_profile
# mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,slave,log/iblog},backup,scripts}
# tar xvf mysql-8.0.14-linux-glibc2.12-x86_64.tar
# tar xvJf mysql-8.0.14-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
# ln -s mysql-8.0.14-linux-glibc2.12-x86_64 mysql
# chown -R mysql:mysql /usr/local/mysql/
# chown -R mysql:mysql /data/mysqldata/
[mysql@DSI 3306]$ vim my.cnf
[mysql@DSI 3306]$ mkdir -p /data/mysqldata/loadfile
[mysql@DSI 3306]$ /usr/local/mysql/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysqldata/3306/data --user=mysql --initialize
[mysql@DSI 3306]$ /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
[1] 5254
[mysql@DSI 3306]$ 2019-04-17T03:21:06.651957Z mysqld_safe Logging to '/data/mysqldata/3306/log/mysql-error.log'.
2019-04-17T03:21:06.673989Z mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data
[mysql@DSI 3306]$ ps -ef|grep mysql
mysql 5254 7566 0 11:21 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf
mysql 6507 5254 2 11:21 pts/1 00:00:01 /usr/local/mysql/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysqldata/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/data/mysqldata/3306/log/mysql-error.log --open-files-limit=65535 --pid-file=DSI.pid --socket=/data/mysqldata/3306/mysql.sock --port=3306
[mysql@DSI 3306]$ cat /data/mysqldata/3306/log/mysql-error.log |grep "root@localhost"
2019-04-17T11:20:50.506529+08:00 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: #Fki/+cl7HdI
[mysql@DSI 3306]$ /usr/local/mysql/bin/mysql -uroot -p'#Fki/+cl7HdI' -S /data/mysqldata/3306/mysql.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.14 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. 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. (root@localhost:mysql.sock) [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY '***';
Query OK, 0 rows affected (0.00 sec)
(root@localhost:mysql.sock) [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
(root@localhost:mysql.sock) [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |

mysql 8.0的分区表只支持innodb、ndbcluster,其他引擎的不支持。
下载安装mysql工具集
# wget https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-utilities-1.6.5-1.el6.noarch.rpm

加载示例数据
# wget 'https://codeload.github.com/datacharmer/test_db/zip/master' -O master.zip
(root@localhost:mysql.sock) [employees]> show tables;
+----------------------+
| Tables_in_employees |
+----------------------+
| current_dept_emp |
| departments |
| dept_emp |
| dept_emp_latest_date |
| dept_manager |
| employees |
| salaries |
| titles |
在mysql8.0,已经删掉了.frm表结构文件
[root@DSI employees]# ll
total 182520
-rw-r-----. 1 mysql mysql 131072 Apr 17 14:21 departments.ibd
-rw-r-----. 1 mysql mysql 26214400 Apr 17 14:22 dept_emp.ibd
-rw-r-----. 1 mysql mysql 131072 Apr 17 14:22 dept_manager.ibd
-rw-r-----. 1 mysql mysql 23068672 Apr 17 14:21 employees.ibd
-rw-r-----. 1 mysql mysql 109051904 Apr 17 14:23 salaries.ibd
-rw-r-----. 1 mysql mysql 28311552 Apr 17 14:22 titles.ibd
使用正则表达式查询
(root@localhost:mysql.sock) [employees]> select count(*) from employees where first_name rlike '^christ';
+----------+
| count(*) |
+----------+
| 1157 |

创建用户
(root@localhost:mysql.sock) [employees]> create user if not exists 'system'@'10.15%' identified with mysql_native_password by '****';
(root@localhost:mysql.sock) [employees]> grant all privileges on *.* to 'system'@'10.15%';
(root@localhost:mysql.sock) [employees]> show create user 'system'@'10.15%'; ##查询创建用户语句
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CREATE USER for system@10.15% |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CREATE USER 'system'@'10.15%' IDENTIFIED WITH 'mysql_native_password' AS '*4DB42A770506EA05234DECCD02E3FCCB77D03B5C' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
(root@localhost:mysql.sock) [employees]> alter user 'system'@'10.15%' password expire interval 90 day; ##设置过期时间
创建角色
(root@localhost:mysql.sock) [employees]> create role 'app_read_only','app_writes','app_developer';
(root@localhost:mysql.sock) [employees]> grant select on employees.* to 'app_read_only';
(root@localhost:mysql.sock) [employees]> grant insert,update,delete on employees.* to 'app_writes';
(root@localhost:mysql.sock) [employees]> grant all on employees.* to 'app_developer';
(root@localhost:mysql.sock) [employees]> create user emp_read_only identified by 'emp_passs';
(root@localhost:mysql.sock) [employees]> grant 'app_read_only' to 'emp_read_only'@'%';

获取有关数据库和表的信息
use information_schema;
静态元数据:table_schema、table_name、table_type、engine
动态表元数据:auto_incremant、avg_row_length、data_free
在mysql8.0中,动态表元数据将默认被缓存,可以通过information_schema_stats进行配置,并且可以改为
set @@global.information_schema_status='LATEST';
(root@localhost:mysql.sock) [employees]> use information_schema;
(root@localhost:mysql.sock) [information_schema]> show tables;
--tables\columns\files\innodb_tablespaces\innodb_tablestats\processlist

使用JSON
从mysql 5.7开始,mysql支持JavaScript对象表示(JSON)数据类型,JSON文档以二进制格式存储
(root@localhost:mysql.sock) [employees]> create table emp_details(emp_no int primary key,details json);
insert into emp_details(emp_no,details)
values(1,'{"location":"IN","phone":"+123456768","email":"abc@xx.com","address":{"line1":"abc","line2":"xys street","city":"BBB","PIN":"12345"}}');
(root@localhost:mysql.sock) [employees]> select emp_no, details->'$.address.PIN' pin from emp_details;
+--------+---------+
| emp_no | pin |
+--------+---------+
| 1 | "12345" |
+--------+---------+

公用表达式(CTE)

with cte as(select year(from_date) as year,sum(salary) as sum from salaries group by year)
select q1.year,q2.year as next_year,q1.sum,q2.sum as next_sum,100*(q2.sum-q1.sum)/q1.sum as pct from
cte as q1,cte as q2
where q1.year=q2.year-1;

递归cte

with recursive cte (n) AS(select 1
union ALL
select n+1 from cte where n<5)
select * from cte;

生成列--的值是根据列定义中包含的表达式计算得出的,两种类型
--virtual,当从表中读取记录时,将计算该列--这个虚拟列不占用任何空间
--stored,当向表中写入新记录时,将计算列并将其作为常规列存储在表中

CREATE TABLE `employees_01` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` enum('M','F') NOT NULL,
`hire_date` date NOT NULL,
`full_name` varchar(30) as (concat(first_name,' ',last_name)),
PRIMARY KEY (`emp_no`),
key `name` (`first_name`,`last_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

窗口函数

Name         Description
CUME_DIST()     Cumulative distribution value
DENSE_RANK()    Rank of current row within its partition, without gaps
FIRST_VALUE()    Value of argument from first row of window frame
LAG()           Value of argument from row lagging current row within partition
LAST_VALUE()      Value of argument from last row of window frame
LEAD()         Value of argument from row leading current row within partition
NTH_VALUE()     Value of argument from N-th row of window frame
NTILE()                          Bucket number of current row within its partition.
PERCENT_RANK()       Percentage rank value
RANK()                         Rank of current row within its partition, with gaps
ROW_NUMBER()         Number of current row within its partition

--行号
MYSQL> select concat(first_name, " ",last_name) as full_name,salary,row_number()over(order by salary desc) as 'rank' from employees
join salaries on salaries.emp_no=employees.emp_no limit 10;
+-------------------+--------+------+
| full_name | salary | rank |
+-------------------+--------+------+
| Tokuyasu Pesch | 158220 | 1 |
| Tokuyasu Pesch | 157821 | 2 |
| Honesty Mukaidono | 156286 | 3 |
| Xiahua Whitcomb | 155709 | 4 |
| Sanjai Luders | 155513 | 5 |
| Tsutomu Alameldin | 155377 | 6 |
| Tsutomu Alameldin | 155190 | 7 |
| Tsutomu Alameldin | 154888 | 8 |
| Tsutomu Alameldin | 154885 | 9 |
| Willard Baca | 154459 | 10 |
+-------------------+--------+------+
--分隔 parition
select year(hire_date) hire_date_year ,salary,row_number()over(PARTITION by year(hire_date) order by salary desc) as 'rank' from employees
join salaries on salaries.emp_no=employees.emp_no order by salary desc limit 10;
+----------------+--------+------+
| hire_date_year | salary | rank |
+----------------+--------+------+
| 1985 | 158220 | 1 |
| 1985 | 157821 | 2 |
| 1986 | 156286 | 1 |
| 1985 | 155709 | 3 |
| 1987 | 155513 | 1 |
| 1985 | 155377 | 4 |
| 1985 | 155190 | 5 |
| 1985 | 154888 | 6 |
| 1985 | 154885 | 7 |
| 1985 | 154459 | 8 |
+----------------+--------+------+
-第一个、最后一个和第n个值
select year(hire_date) hire_date_year,salary,rank()over w as 'rank',
first_value(salary) over w as 'first',
nth_value(salary,3) over w as 'third',
last_value(salary) over w as 'last'
from employees join salaries on salaries.emp_no=employees.emp_no
window w as (partition by year(hire_date) order by salary desc)
order by salary desc limit 10;
+----------------+--------+------+--------+--------+--------+
| hire_date_year | salary | rank | first | third | last |
+----------------+--------+------+--------+--------+--------+
| 1985 | 158220 | 1 | 158220 | NULL | 158220 |
| 1985 | 157821 | 2 | 158220 | NULL | 157821 |
| 1986 | 156286 | 1 | 156286 | NULL | 156286 |
| 1985 | 155709 | 3 | 158220 | 155709 | 155709 |
| 1987 | 155513 | 1 | 155513 | NULL | 155513 |
| 1985 | 155377 | 4 | 158220 | 155709 | 155377 |
| 1985 | 155190 | 5 | 158220 | 155709 | 155190 |
| 1985 | 154888 | 6 | 158220 | 155709 | 154888 |
| 1985 | 154885 | 7 | 158220 | 155709 | 154885 |
| 1985 | 154459 | 8 | 158220 | 155709 | 154459 |
+----------------+--------+------+--------+--------+--------+

mysql 8.0 配置mysql
静态参数和动态参数,一些参数已经不再支持,详细参考官方文档

https://downloads.mysql.com/docs/refman-8.0-en.pdf

Server and Status Variables and Options Added, Deprecated, or Removed in MySQL 8.0
Options and Variables Introduced in MySQL 8.0

--innodb_buffer_pool_size 可以动态调节大小,不再需要重启
--innodb_buffer_pool_instances
--innodb_log_file_size 更改不需要重启
更改数据目录

(root@localhost:mysql.sock) [employees]> show variables like '%datadir%';
+---------------+----------------------------+
| Variable_name | Value |
+---------------+----------------------------+
| datadir | /data/mysqldata/3306/data/ |
+---------------+----------------------------+
--停止mysql,创建新目录(权限),rsync -av /data/mysqldata/3306/data/ /new_datadir

二进制日志
--binlog_expire_logs_seconds
--expire_logs_days : Purge binary logs after this many days. Deprecated as of MySQL 8.0.3

SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 693
#190417 14:21:46 server id 20190417 end_log_pos 775 CRC32 0x15ee14ef Query thread_id=33 exec_time=0 error_code=0
SET TIMESTAMP=1555482106/*!*/;
BEGIN
/*!*/;
--server id 20190417,产生 改事件的服务器的serverid
--end_log_pos 下一个事件的开始位置
--thread_id 指示那个线程执行了该事件
--exec_time 在主服务器上,它代表执行事件的时间,在从服务器上,代表从服务器的最终执行时间与主服务器的开始执行时间之间的差值,这个差值可以作为备份相对于主服务器滞后多少的指标
--error_code 执行事件的结果

[mysql@DSI backup]$ mysqldump -uroot -p -S /data/mysqldata/3306/mysql.sock --databases employees --single-transaction --default-character-set=utf8 --master-data=2> /data/mysqldata/backup/employees_backup01.sql

# yum install glib2-devel mysql-devel zlib-devel pcre-devel cmake gcc-c++ git
git clone https://github.com/maxbube/mydumper.git
cmake .
make
make install
--# yum install https://github.com/maxbube/mydumper/releases/download/v0.9.5/mydumper-0.9.5-1.el6.x86_64.rpm
$ /usr/local/bin/mydumper -uroot -p -S /data/mysqldata/3306/mysql.sock -B employees -o /data/mysqldata/backup/mydumper_bak
[mysql@DSI ~]$ /usr/local/bin/mydumper -u root -p *** -S /data/mysqldata/3306/mysql.sock -B employees -o /data/mysqldata/backup/mydumper_bak
[mysql@DSI ~]$ cd /data/mysqldata/backup/mydumper_bak/
[mysql@DSI mydumper_bak]$ ll
total 168324
-rw-rw-r--. 1 mysql mysql 138 Apr 17 17:28 employees.current_dept_emp-schema.sql
-rw-rw-r--. 1 mysql mysql 950 Apr 17 17:28 employees.current_dept_emp-schema-view.sql
-rw-rw-r--. 1 mysql mysql 332 Apr 17 17:28 employees.departments-schema.sql
-rw-rw-r--. 1 mysql mysql 351 Apr 17 17:28 employees.departments.sql
-rw-rw-r--. 1 mysql mysql 127 Apr 17 17:28 employees.dept_emp_latest_date-schema.sql
-rw-rw-r--. 1 mysql mysql 845 Apr 17 17:28 employees.dept_emp_latest_date-schema-view.sql
-rw-rw-r--. 1 mysql mysql 594 Apr 17 17:28 employees.dept_emp-schema.sql
-rw-rw-r--. 1 mysql mysql 14160012 Apr 17 17:28 employees.dept_emp.sql
-rw-rw-r--. 1 mysql mysql 606 Apr 17 17:28 employees.dept_manager-schema.sql
-rw-rw-r--. 1 mysql mysql 1168 Apr 17 17:28 employees.dept_manager.sql
-rw-rw-r--. 1 mysql mysql 285 Apr 17 17:28 employees.emp_details-schema.sql
-rw-rw-r--. 1 mysql mysql 343 Apr 17 17:28 employees.emp_details.sql
-rw-rw-r--. 1 mysql mysql 565 Apr 17 17:28 employees.employees_01-schema.sql
-rw-rw-r--. 1 mysql mysql 419 Apr 17 17:28 employees.employees-schema.sql
-rw-rw-r--. 1 mysql mysql 17722965 Apr 17 17:28 employees.employees.sql
-rw-rw-r--. 1 mysql mysql 455 Apr 17 17:28 employees.salaries-schema.sql
-rw-rw-r--. 1 mysql mysql 118693182 Apr 17 17:28 employees.salaries.sql
-rw-rw-r--. 1 mysql mysql 98 Apr 17 17:28 employees-schema-create.sql
-rw-rw-r--. 1 mysql mysql 466 Apr 17 17:28 employees.titles-schema.sql
-rw-rw-r--. 1 mysql mysql 21708866 Apr 17 17:28 employees.titles.sql
-rw-rw-r--. 1 mysql mysql 136 Apr 17 17:28 metadata

数据字典
数据字典是元数据,跟数据库对象,表、索引和表列,在mysql 8.0中引入,元数据的物理位置位于mysql数据库目录中的innodb独立表空间中
mysql数据字典的优点:
--以集中式数据字典模式统一存储字典数据
--删除了基于文件的元数据存储
--对字典数据的事务性、崩溃时的安全存储
--对字典对象的统一和集中缓存
--对一些information_schema表的实现进行简化和改进
--原子DDL

管理undo表空间
mysql 8.0,innodb_undo_tablespaces,动态变量
管理通用表空间
mysql 8引入了通用表空间,是共享的表空间,可以存储多个表的数据。

(root@localhost:mysql.sock) [employees]> create tablespace ts1 add datafile 'ts1.ibd' engine=innodb;
Query OK, 0 rows affected (0.02 sec)
(root@localhost:mysql.sock) [employees]> create table table_gen_ts1(id int primary key) tablespace ts1;
Query OK, 0 rows affected (0.03 sec) 降序索引
(root@localhost:mysql.sock) [employees]> explain select * from employees order by first_name asc,last_name desc limit 10;
+----+-------------+-----------+------------+------+---------------+------+---------+------+--------+----------+----------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-----------+------------+------+---------------+------+---------+------+--------+----------+----------------+
| 1 | SIMPLE | employees | NULL | ALL | NULL | NULL | NULL | NULL | 299733 | 100.00 | Using filesort |
+----+-------------+-----------+------------+------+---------------+------+---------+------+--------+----------+----------------+
1 row in set, 1 warning (0.00 sec) (root@localhost:mysql.sock) [employees]> alter table employees add index name_desc(first_name asc,last_name desc);
Query OK, 0 rows affected (0.94 sec)
Records: 0 Duplicates: 0 Warnings: 0 (root@localhost:mysql.sock) [employees]> explain select * from employees order by first_name asc,last_name desc limit 10;
+----+-------------+-----------+------------+-------+---------------+-----------+---------+------+------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-----------+------------+-------+---------------+-----------+---------+------+------+----------+-------+
| 1 | SIMPLE | employees | NULL | index | NULL | name_desc | 124 | NULL | 10 | 100.00 | NULL |
+----+-------------+-----------+------------+-------+---------------+-----------+---------+------+------+----------+-------+ sys schema
启用一个计数器
(root@localhost:mysql.sock) [employees]> call sys.ps_setup_enable_instrument('statement');
+------------------------+
| summary |
+------------------------+
| Enabled 22 instruments |
+------------------------+
1 row in set (0.00 sec)
--按类型列出买个主机的语句(insert/select)
(root@localhost:mysql.sock) [employees]> select statement,total,total_latency,rows_sent,rows_examined,rows_affected,
-> full_scans from sys.host_summary_by_statement_type where host='localhost' order by total desc limit 5;
+-------------------+-------+---------------+-----------+---------------+---------------+------------+
| statement | total | total_latency | rows_sent | rows_examined | rows_affected | full_scans |
+-------------------+-------+---------------+-----------+---------------+---------------+------------+
| set_option | 221 | 19.45 ms | 0 | 0 | 0 | 0 |
| insert | 168 | 51.21 s | 0 | 0 | 3919015 | 0 |
| select | 112 | 30.29 s | 11757148 | 57562351 | 0 | 56 |
| Field List | 94 | 42.97 ms | 0 | 0 | 0 | 0 |
| show_create_table | 50 | 10.32 ms | 0 | 0 | 0 | 0 |
+-------------------+-------+---------------+-----------+---------------+---------------+------------+
--按类型列出每个用户的语句
(root@localhost:mysql.sock) [employees]> select statement,total,total_latency,rows_sent,rows_examined,rows_affected,
-> full_scans from sys.user_summary_by_statement_type order by total desc limit 5;
+-------------+-------+---------------+-----------+---------------+---------------+------------+
| statement | total | total_latency | rows_sent | rows_examined | rows_affected | full_scans |
+-------------+-------+---------------+-----------+---------------+---------------+------------+
| set_option | 221 | 19.45 ms | 0 | 0 | 0 | 0 |
| insert | 168 | 51.21 s | 0 | 0 | 3919015 | 0 |
| select | 113 | 30.29 s | 11757153 | 57562980 | 0 | 57 |
| Field List | 94 | 42.97 ms | 0 | 0 | 0 | 0 |
| show_status | 56 | 133.97 ms | 24864 | 49728 | 0 | 56 |
+-------------+-------+---------------+-----------+---------------+---------------+------------+
--冗余索引
select * from sys.schema_redundant_indexes where table_name='employees';
--未使用的索引
(root@localhost:mysql.sock) [employees]> select * from sys.schema_unused_indexes where object_name='employees';
+---------------+-------------+------------+
| object_schema | object_name | index_name |
+---------------+-------------+------------+
| employees | employees | name_desc |
+---------------+-------------+------------+
--每个主机执行的语句
(root@localhost:mysql.sock) [employees]> select * from sys.host_summary order by statements desc limit 5;
+-------------+------------+-------------------+-----------------------+-------------+----------+-----------------+---------------------+-------------------+--------------+----------------+------------------------+
| host | statements | statement_latency | statement_avg_latency | table_scans | file_ios | file_io_latency | current_connections | total_connections | unique_users | current_memory | total_memory_allocated |
+-------------+------------+-------------------+-----------------------+-------------+----------+-----------------+---------------------+-------------------+--------------+----------------+------------------------+
| localhost | 950 | 1.39 m | 87.53 ms | 97 | 24110 | 1.28 s | 1 | 12 | 1 | 262.35 KiB | 7.12 GiB |
| 10.15.7.126 | 206 | 19.82 s | 96.19 ms | 102 | 11543 | 413.85 ms | 1 | 7 | 1 | 1.34 MiB | 454.41 MiB |
+-------------+------------+-------------------+-----------------------+-------------+----------+-----------------+---------------------+-------------------+--------------+----------------+------------------------+
--对表的统计
select * from sys.schema_table_statistics limit 1;
--对带缓冲区(buffer)的表的统计
select * from sys.schema_table_statistics_with_buffer limit 10;
--语句分析
select * from sys.statement_analysis order by exec_count desc limit 1;
--消耗最大的tmp_disk_tables
select * from sys.statement_analysis order by tmp_disk_tables desc limit 1;

mysql 8.0 初识的更多相关文章

  1. [MySQL 5.6] 初识5.6的optimizer trace

      在MySQL5.6中,支持将执行的SQL的查询计划树记录下来,目前来看,即使对于非常简单的查询,也会打印出冗长的查询计划,看起来似乎不是很可读,不过对于一个经验丰富,对查询计划的生成过程比较了解的 ...

  2. MYSQL之数据库初识、安装详解、sql语句基本操作

    目录 MYSQL之数据库初识及安装详解 1.什么是数据库? 1.什么是数据?(data) 2.什么是数据库?(databases,简称DB) 2.为什要用数据库? 3.什么是数据库管理系统?(Data ...

  3. mysql 5.0.46安装配置

    http://os.chinaunix.net/a2008/0801/986/000000986346.shtml RPM包和源码包存放位置 /usr/local/src 源码包编译安装位置(pref ...

  4. RedHat下apache\ftp\mysql 4.0 的安装方法

    RedHat下安装这三个服务的方法大同小异 Apache服务: 找到Apache安装包: rpm -ivh httpd-2.0.40-21.i386.rpm 等待安装完成即可 检查安装结果: rpm ...

  5. MySQL 8.0.0 版本发布,亮点都在这了!

    导读 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开 ...

  6. Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://127.0.0.1:3306/test'

    原来的配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...

  7. MySQL :: MySQL 5.0 Reference Manual :: 14.4 The MEMORY (HEAP) Storage Engine

    MySQL :: MySQL 5.0 Reference Manual :: 14.4 The MEMORY (HEAP) Storage Engine The MEMORY (HEAP) Stora ...

  8. MySQL 6.0安装图解

    MySQL 6.0安装图解 由于免费,MySQL数据库在项目中用的越来越广泛,而且它的安全性能也特别高,不亚于oracle这样的大型数据库软件.可以简单的说,在一些中小型的项目中,使用MySQL ,P ...

  9. What's New In MySQL 8.0

        由于8.0内有很多C++11特性.需要gcc4.8版本以上.Rhel6系列默认gcc是4.7.在安装gcc6.1之后仍然检查不过. 原因可能是6.1版本不一定高于4.7,暂不讨论.鉴于升级gc ...

随机推荐

  1. 【异常记录(六)】vs文件乱码:文件加载,使用Unicode(UTF-8)编码加载文件xxx时,有些字节已用Unicode替换字符替换。保存该文件将不会保留原始文件内容。

    VS2013偶遇这种情况,页面汉字编码出现乱码.  .... 按照网上查到的:   工具>选项>文本编辑器> 勾选了  然并卵,还是乱码... 其实炒鸡简单 用记事本打开另存为,选择 ...

  2. UVa 10917 林中漫步

    https://vjudge.net/problem/UVA-10917 题意: 给出一个图,求出从1走到2共有多少种走法.前提是他只沿着满足如下条件的道路(A,B)走:存在一条从B出发回家的路径,比 ...

  3. hdu 3792 Twin Prime Conjecture 前缀和+欧拉打表

    Twin Prime Conjecture Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  4. python 字典元素值的乘积

    my_dict = {,,} result= for key in my_dict: result=result * my_dict[key] print(result)

  5. Java Spring-JdbcTemplate

    2017-11-10 22:55:45 Spring 对持久层技术支持 : JDBC : org.springframework.jdbc.core.JdbcTemplate Hibernate3.0 ...

  6. Linux命令详解-printf

    printf命令格式化并输出结果到标准输出. 1.命令格式: printf (选项) (参数) 2.命令功能: echo会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开,并在最后加上换行号. ...

  7. python学习笔记(六)---sublime text3 创建python项目

    1.创建项目 依次鼠标左键点击Project>Add Folder to Project...,选择test文件夹: 2.保存项目 依次鼠标左键点击Project>Save Project ...

  8. hdu 6158 The Designer( 反演圆)

    The Designer Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  9. ISE创建Microblaze软核(一)

    在使用FPGA时,有时会用到它做为主控芯片.对于习惯于单片机及C语言开发的人,使用FPGA做主控芯片,首先还是想到它的嵌入式软核功能.如果能够基于Microblze软核进行C语言程序的开发,相对于使用 ...

  10. (转)Fiddler教程(Web调试工具)

    转载地址:写得很不错的fildder教程   http://kb.cnblogs.com/page/130367/ Fiddler的基本介绍 Fiddler的官方网站:  www.fiddler2.c ...