一、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;
显示一个数据库的所有表。
mysql> show tables;
3)查看数据表的结构。
mysql> describe [table name];
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**