- 查看所有数据库
mysql> show databases;
+---------------------------+
| Database |
+---------------------------+
| zyyy-enterprise-center |
| zyyy-member-center |
| zyyy-order-center |
| zyyy-product-center |
+---------------------------+
17 rows in set (0.26 sec)
附:查看所有表
mysql> show tables;
- 查看当前数据库
mysql> select database();
+------------------------+
| database() |
+------------------------+
| zyyy-enterprise-center |
+------------------------+
1 row in set (0.15 sec)
- 查看数据库使用端口
(我的有个疑问:一个连接下面一般很多数据库,但是只设置了一个端口:3306,那就是所有数据库的端口都是3306?可以单独设置数据的端口不?)
mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.25 sec)
- 切换数据库
注意加上这两个点,位于键盘左上方(Esc下面),不然可能报语法错误。比如下面这个带中划线的数据库名字,不加这两点,就会报错。
mysql> use `zyyy-enterprise-center`;
Database changed
- 查看数据库编码
方式一:
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.20 sec)
character_set_client : 为客户端编码方式;
character_set_connection: 为建立连接使用的编码;
character_set_database: 为数据库的编码;
character_set_results: 为结果集的编码;
character_set_server: 为数据库服务器的编码;
只要保证以上采用的编码方式一样,就不会出现乱码问题。
方式二:
mysql> show variables like 'collation%';
+----------------------+--------------------+
| Variable_name | Value |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_general_ci |
| collation_server | utf8mb4_unicode_ci |
+----------------------+--------------------+
3 rows in set (0.87 sec)
- 查看数据库的所有用户信息
mysql> select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;
+------------------------------------+
| query |
+------------------------------------+
| user: 'root'@'%'; |
| user: 'root'@'218.70.169.6'; |
| user: 'mysql.session'@'localhost'; |
| user: 'mysql.sys'@'localhost'; |
| user: 'root'@'localhost'; |
+------------------------------------+
5 rows in set (0.17 sec)
- 查看某个用户的权限
mysql> show grants for 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
2 rows in set (0.21 sec)
- 查看数据库的最大连接数
mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 50000 |
+-----------------+-------+
1 row in set (0.24 sec)
- 查看数据库当前连接数,并发数
mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 5 |
| Threads_connected | 76 |
| Threads_created | 1704 |
| Threads_running | 1 |
+-------------------+-------+
4 rows in set (0.18 sec)
Threads_cached : 代表当前此时此刻线程缓存中有多少空闲线程。
Threads_connected :代表当前已建立连接的数量,因为一个连接就需要一个线程,所以也可以看成当前被使用的线程数。
Threads_created : 代表从最近一次服务启动,已创建线程的数量。
Threads_running : 代表当前激活的(非睡眠状态)线程数。并不是代表正在使用的线程数,有时候连接已建立,但是连接处于sleep状态,这里相对应的线程也是sleep状态。
- 查看数据文件存放路径
mysql> show variables like '%datadir%';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.18 sec)