一、MySQL查看数据库、用户、运行状态
1、查看Mysql版本
//方式一 mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.22 | +-----------+ 1 row in set (0.00 sec) //方式二 mysql> select @@version ; +-----------+ | @@version | +-----------+ | 5.7.22 | +-----------+ 1 row in set (0.00 sec) //方式三 mysql> status -------------- mysql Ver 14.14 Distrib 5.7.22, for Win64 (x86_64) Connection id: 21 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.7.22 MySQL Community Server (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 TCP port: 3306 Uptime: 179 days 16 hours 46 sec Threads: 16 Questions: 92 Slow queries: 0 Opens: 29 Flush tables: 1 Open tables: 20 Queries per second avg: 1.826 -------------- mysql>
2、存储引擎
mysql已提供的存储引擎: mysql> show engines; //mysql当前默认的存储引擎: mysql> show variables like '%storage_engine%'; +----------------------------------+--------+ | Variable_name | Value | +----------------------------------+--------+ | default_storage_engine | InnoDB | | default_tmp_storage_engine | InnoDB | | disabled_storage_engines | | | internal_tmp_disk_storage_engine | InnoDB | +----------------------------------+--------+ 4 rows in set, 1 warning (0.00 sec)
3、查看用户
1)、查看Mysql的当前用户
mysql> SELECT USER (); +-----------------------+ | USER () | +-----------------------+ | root@localhost | +-----------------------+ 1 row in set (0.00 sec) mysql
2)查看所有用户
mysql> SELECT user,host FROM mysql.user; +--------------------+---------------+ | user | host | +--------------------+---------------+ | test | % | | test | localhost | | aser | 192.168.1.64 | | aser | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +--------------------+---------------+ 7 rows in set (0.00 sec)
4、查看数据库及表信息
1)登录mysql系统
mysql -u root -p; 输入密码
2)列出所有数据库
mysql> show databases; • 1
显示一个数据库的所有表。
mysql> show tables;
3)查看数据表的结构。
mysql> describe [table name]; • 1
4)返回指定数据表的各列信息。
mysql> show columns from [table name];
5)导出和导入数据
Ⅰ. 导出数据:
mysql> mysqldump --opt test > mysql.test; 即将数据库test数据库导出到mysql.test文本文件 例:mysqldump -u root -p用户密码 --databases dbname > mysql.dbname
Ⅱ. 导入数据:
mysql> mysqlimport -u root -p用户密码 < mysql.dbname;
Ⅲ. 将文本数据导入数据库:
文本数据的字段数据之间用tab键隔开。 use test; load data local infile "文件名" into table 表名;
6)创建数据库表
CREATE DATABASE node
DEFAULT CHARACTER SET utf8 ;
7)查看当前连接的数据库
mysql> select database(); +------------+ | database() | +------------+ | testdb | +------------+ 1 row in set (0.00 sec)
5、数据库运行状态的基本命令
show full processlist; # 查询数据库连接 show variables like '%max_connections%';# 查看最大连接数量 show status like '%Max_used_connections%'; # 查询数据库使用过的最大连接 show status like '%Threads_connected%';# 当前连接数 show status like '%table_lock%';# 表锁定 show status like 'innodb_row_lock%';# 行锁定 show status like '%qcache%'; # 查询缓存情况 show variables like '%timeout%';# 查看超时时间 show variables like 'log_%'; # 查看日志是否启动
二、数据库锁
三、事务
四、数据库调优
使用mysql遇到的问题
1. MySQL版本不兼容导致的数据库导入失败(以5.7版本导入8.0版本为例)
1)把文件中的所有的utf8mb4_0900_ai_ci替换为utf8_general_ci
2) 以及utf8mb4替换为utf8**