一、查询数据库和表的大小
1.查询所有数据库占用磁盘空间大小的SQL语句
select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
from information_schema.tables
group by TABLE_SCHEMA
order by data_size desc;
2.查询单个数据库里面各个表所占磁盘空间大小包括其索引的大小
select table_name,concat(truncate(data_length/1024/1024,2),'MB') as data_size,
concat(truncate(index_length/1024/1024,2),'MB') as index_size
from information_schema.tables
where table_schema='myktv' order by data_length desc;
二、导出远程mysql数据库表结构至本地
1.在mysql安装路径的bin文件夹下打开命令窗体
2.输入命令:mysqldump -h192.168.1.1 -P3306 -uroot -pmm -d dbname > d:\dbname.sql
mysqldump -h192.168.1.1 -P3308 -uroot -pmm -d --add-drop-table dbname > d:\dbname.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
3.在本地创建数据库:create database dbname;
4.导入表结构:mysql>source d:/dbname.sql
三、mysqldump备份导出数据排除某张表
就用 --ignore-table=dbname.tablename参数就行,可以忽略多个。
mysqldump -h192.168.1.1 -P3306 -uroot -pmm -d dbname --ignore-table=dbname.test1 --ignore-table=dbname.test2 > d:\dbname.sql
四、mysqldump 导出某表的部分数据
mysqldump -uroot -proot dbname test1 --where=" id <10" > test1.sql
五、导出数据中dbname多张表(test1,test2,test3)结构及表数据用用空格隔开
mysqldump -uroot -pdbpasswd dbname test1 test2 test3>db.sql;
六、mysql 用户及权限管理
MySQL权限表分别user,db,table_priv,columns_priv和host。下面分别介绍一下这些表的结构和内容:
user权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。
db权限表:记录各个帐号在各个数据库上的操作权限。
table_priv权限表:记录数据表级的操作权限。
columns_priv权限表:记录数据列级的操作权限。
host权限表:配合db权限表对给定主机上数据库级操作权限作更细致的控制。这个权限表不受GRANT和REVOKE语句的影响。

