如题,找到MySQL中的information_schema表,这张表记录了所有数据库中表的信息,主要字段含义如下:
TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
如果需要查询所有数据库占用空间大小只需要执行SQL命令:
mysql> use information_schema
Database changed
mysql> SELECT sum(DATA_LENGTH+INDEX_LENGTH) FROM TABLES;
+-------------------------------+
| sum(DATA_LENGTH+INDEX_LENGTH) |
+-------------------------------+
| 683993 |
+-------------------------------+
1 row in set (000 sec)
大小是字节数 如果想修改为KB可以执行:
SELECT sum(DATA_LENGTH+INDEX_LENGTH)/1024 FROM TABLES;
如果修改为MB应该也没问题了吧
如果需要查询一个数据库所有表的大小可以执行:
SELECT sum(DATA_LENGTH+INDEX_LENGTH) FROM TABLES WHERE TABLE_SCHEMA='数据库名'
<php
//显示多少条数据
$db=mysql_connect("localhost","root","xiaowodcaowugook");
//创建数据库连接
$select=mysql_select_db("xmanman",$db);
//选择要 *** 作的数据库
mysql_query("SET NAMES GBK");
//解决中文乱码问题
$total=mysql_num_rows(mysql_query("select id from gaox"));
//查询数据的总数,id是数据库中的一个自动赋值的字段,gaox是数据库表的名字
$info=mysql_query("select from gaox order by time desc limit $num");
//获取相应页数所需要显示的数据,order by time desc是按最后留言的排前边,gaox是数据库表的名字
$it=mysql_fetch_array($info);
>
想知道你的mysql装在哪里吗?CentOS7一般是装在/var/lib/mysql中的
在完成迁移之前,先用下面的指令来停止mysqld服务
service mysqld stop,或者直接点sudo systemctl stop mysqld
然后用df-h指令看服务器上剩余空间是多少,假设我们新挂了一块500G的硬盘到/data上
那么请把mysql整个文件夹拷贝到/data中,像下面这样:
sudo cp -rf /var/lib/mysql /data/mysql,拷完以后原来的mysql文件夹就可以删除了
然后再修改/etc/mycnf,这个也是需要su的:
sudo vi /etc/mycnf
里面有一个字段叫[mysqld],将datadir和socket修改成这样:
datadir=/data/mysql
socket=/data/mysql/mysqlsock
接下来,有的人说要修改/etc/initd/mysqld,但我的服务器不需要,直接通过
service mysqld start就可以启动SQL服务了,远程也可以连接上,但是:
当你使用终端mysql -u root -p的时候,就会报下面这个错:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysqlsock'
这个时候,你有两种解决办法,一种是造一个软连接
ln -s /data/mysql/mysqlsock /var/lib/mysql/mysqlsock,原因是你已经删掉之前的mysql目录了
另外一种办法,是在/etc/mycnf下面新建一个新字段:
[mysql]
socket=/data/mysql/mysqlsock
第一种方法不需要重启mysql server,第二种方法需要重启mysql server,
然后,你就可以成功地从终端里进入mysql了
敲黑板,不要在[mysql]下面自做主张地写上datadir=/data/mysql,这样会导致本地命令行登录时报错:Unknown Variable: datadir=/data/mysql
Linux和MySQL都支持多种类型的查询。下面是关于Linux和MySQL查询类型的一些简要说明:
Linux查询类型:
1 命令行查询:Linux系统的命令行界面提供了许多有用的命令,可以帮助您执行各种类型的查询,例如文件和目录查询、进程查询、网络查询等等。
2 文本搜索查询:Linux系统还提供了各种文本搜索工具,例如 grep、awk、sed 等等,可以帮助您快速搜索文件或文本内容。
3 系统日志查询:Linux系统的各种系统日志(如 /var/log/messages、/var/log/syslog 等)记录了系统各种 *** 作的信息,您可以使用工具(如 grep、tail、less 等)来查询和分析这些日志。
MySQL查询类型:
1 SELECT查询:SELECT查询是MySQL中最常见的查询类型,用于从一个或多个表中检索数据。
2 INSERT查询:INSERT查询用于将新记录插入到一个表中。
3 UPDATE查询:UPDATE查询用于更新一个或多个表中的现有记录。
4 DELETE查询:DELETE查询用于从一个或多个表中删除记录。
5 子查询:子查询是一个查询嵌套在另一个查询中的查询。它可以用于执行复杂的查询和数据分析。
总的来说,Linux和MySQL支持各种查询类型,您可以根据自己的需求选择合适的查询类型来执行各种 *** 作。
方法如下:
1、首先打开Mysql命令行编辑器,连接Mysql数据库;
2、使用所要 *** 作的数据库,先显示一下数据库中的表;
3、显示一下表结构,了解一下表中的列;
4、向表插入数据,insert into 表名 (列名) values (值);
5、查询表可以看到所插入的数据,select from 表名;
6、可以再插入一个数据,显示一下。
扩展资料:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
与其他的大型数据库,例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为 *** 作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
MyISAMMySQL 50 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 55 起成为默认数据库引擎
BDB源 自 Berkeley DB,事务型数据库的另一种选择,支持Commit 和Rollback 等其他事务特性
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失
Merge将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时很有用
Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive 拥有高效的插入速度,但其对查询的支持相对较差
Federated将不同的 MySQL 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个 csv 文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV 存储引擎不支持索引。
BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录 binlog 做复制的中继
EXAMPLE 存储引擎是一个不做任何事情的存根引擎。它的目的是作为 MySQL 源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE 存储引擎不支持编索引。
另外,MySQL 的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎。
参考资料来源:百度百科:mySQL
当MySQL检测到磁盘空间满了,它会:
每分钟:检查空间是否得到释放,以便写入新数据。当发现有剩余空间了,就会继续写入数据,一切照旧。
每十分钟:如果还是发现没剩余空间,则会在日志中写入一条记录,报告磁盘空间满(这时候只写入几个字节还是够的)。
个例外的情况是:
当执行 REPAIR TABLE 或者 OPTIMIZE TABLE *** 作时,或者执行完 LOAD DATA INFILE 或 ALTER TABLE 之后批量更新索引时,这些 *** 作会创建临时文件,当执行这些 *** 作过程中mysqld发现磁盘空间满了,就会把这个涉及到的表标记为crashed,删掉临时文件(除了 ALTER TABLE *** 作,MySQL会放弃正在执行的 *** 作,删除临时文件,释放磁盘空间)。
备注:当执行这些命令过程中mysqld进程被意外被杀掉的话,其所生成临时文件不会自动删除,需要手工删掉才能释放磁盘空间。
以上就是关于MySQL可以计算查询出来的数据量的大小kb吗全部的内容,包括:MySQL可以计算查询出来的数据量的大小kb吗、PHP语言中MySQL数据库查询问题。、CentOS7下mysql数据库的迁移等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)