1.查看所有数据库:
show databases;
2.查看当前使用的数据库:
select database();
3.查看数据库使用的端口:
show variables like 'port';
4.查看当前数据库大小:
select concat(round(sum(data_length)/(1024*1024),2) +round(sum(index_length)/(1024*1024),2),'MB') as 'DB Size' from tables where table_schema='DATABASE';
5.查看数据所占的空间大小:
select concat(round(sum(data_length)/(1024*1024),2),'MB') as 'DB Size' from tables where table_schema='DATABASE';
6.查看索引所占的空间大小:
select concat(round(sum(index_length)/(1024*1024),2),'MB') as 'DB Size' from tables where table_schema='INVOICE';
7.查看数据库编码:
show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |为客户端编码方式
| character_set_connection | utf8 |为建立连接使用的编码
| character_set_database | utf8 |为数据库的编码
| character_set_filesystem | binary |
| character_set_results | utf8 |为结果集的编码
| character_set_server | utf8 |为数据库服务器的编码
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
8.查看数据库的表信息:
show tables;
9.查看数据库的所有用户信息:
select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;
10.查看某个数据库的表信息:
select * from information_schema.tables where table_schema='databasename';
11.查看某种具体表的信息:
select * from information_schema.tables where table_name ='table_name'
12.查看某个具体用户的权限:
show grants for 'root'@'localhost';
13.查看数据库的最大连接数:
show variables like '%max_connections%';
14.查看数据库当前连接数,并发数:
show status like 'Threads%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 0 |代表当前此时此刻线程缓存中有多少空闲线程。
| Threads_connected | 2 |代表当前已建立连接的数量,因为一个连接就需要一个线程,所以也可以看成当前被使用的线程数。
| Threads_created | 2 |代表从最近一次服务启动,已创建线程的数量。
| Threads_running | 1 |代表当前激活的(非睡眠状态)线程数。并不是代表正在使用的线程数,有时候连接已建立,但是连接处于sleep状态,这里相对应的线程也是sleep状态。
+-------------------+-------+
4 rows in set (0.00 sec)
15.查看数据文件存放路径:
show variables like '%datadir%';
16.查看MySQL服务器状态信息:
\s
17.查看MySQL是否区分大小写:
用windows的mysql是没问题的。
其实linux的mysql也是有这个表的,但由于是从windows复制过去的,所以表名都是小写的,而quartz启动的时候找的是大写,所以认为test.QRTZ_LOCKS这个表不存在。
原理就在于mysql有个配置属性:lower_case_table_names
windows上安装mysql,默认是1,代表忽略大小写
linux上安装mysql,默认是0,代表不忽略大小写
所以在windows好好的,在linux上就报错了。
因此,在碰到有数据库表找不到的错误时候,需要以下面的语句查询当前MySQL是否区分大小写
show VARIABLES like '%lower_case_table_names%'
修改的方法,是修改/etc/my.cnf文件,在文件末尾加
lower_case_table_names=1
然后重启MySQL