Ubuntu下MySQL如何导入.sql文件和相关命令怎么用
说到在Ubuntu下面,把数据库.sql文件导入到MySQL里,很多朋友可能会觉得有点小复杂,其实操作起来真的不难!先给你一个基本用法,经典命令是这样的:
mysql -hlocalhost -uroot -p123456 数据库名 < /路径/你的数据.sql
没错,就是这么简单!先登录MySQL用户名和密码,后面跟着数据库名,然后通过“<”导入你本地的.sql文件。也有一点需要注意的是,有时候导入大文件时,可以考虑使用别的工具或者加上一些参数来优化速度。
另外,如果你想备份数据库呢,mysqldump可是你的好帮手。就像这样:
mysqldump -hlocalhost -uroot -p123456 数据库名 > /路径/备份.sql
所以,导入导出其实说白了,就是这么几条命令,也别忘了先选择数据库:
use 数据库名;
这样一来,你就能轻松玩转Ubuntu上的MySQL啦!

怎么查询和调整MySQL的max_allowed_packet参数 以及查看数据库表和数据的常用方法
接下来,咱们聊聊MySQL数据库中一个挺重要但是容易被忽视的参数——max_allowed_packet,简单来说,这个参数限制了数据库报文包的最大尺寸,直接关系到你能不能导入大容量数据,很关键啊!
- 查看当前max_allowed_packet大小
登录MySQL后,执行:
show variables like '%max_allowed_packet%';
select @@max_allowed_packet;
- 调整max_allowed_packet参数
想改大小?很简单,你可以这样执行:
set global max_allowed_packet = 500 * 1024 * 1024;
(这里单位是字节,500MB哦!)
如果想要永久生效,更推荐去改配置文件:
- Linux系统下,打开
/etc/my.cnf - Windows系统则是在对应的配置文件里修改
修改完别忘了重启MySQL服务,参数才会真的生效,别马虎。
- 查看数据库中有多少张表
这个问题常被问到,操作很直接:
SELECT COUNT(*) FROM information_schema.TABLES WHERE table_schema='你的数据库名';
确保你已经连接到了相应的数据库。
- 查看数据库大小和表容量
想知道数据库或者某张表到底占了多少空间?用信息模式库information_schema干就对了:
-- 查某数据库大小
SELECT table_schema AS "数据库名",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "大小MB"
FROM information_schema.TABLES
WHERE table_schema = '你的数据库名'
GROUP BY table_schema;
-- 查表大小
SELECT table_name,
ROUND((data_length + index_length) / 1024 / 1024, 2) AS "大小MB"
FROM information_schema.TABLES
WHERE table_schema = '你的数据库名'
ORDER BY (data_length + index_length) DESC;
- 查看数据库中的数据内容
聊完结构,我们怎么查数据内容呢?其实特别简单:
SELECT * FROM 表名 LIMIT 10;
就是这么土但有用!还能结合各种编程语言做查询,比如Python的sqlite3,Java的JDBC啥的,直接拿数据走起!
总的来说,你得先连上数据库,然后用SQL语句来看表和数据,信息_schema是你大数据量数据库信息的好帮手哦。

相关问题解答
-
MySQL导入.sql文件失败怎么办?
哎呀,这种事说多了都是泪。通常是因为文件太大,超过了max_allowed_packet限制,或者权限、路径问题。先别急,试试先调整一下max_allowed_packet,顺便确认一下你导入命令中用户名密码没输错,文件路径也别写错了。重启服务后再来一遍,99%问题就解决啦! -
如何永久修改max_allowed_packet参数?
嘿,这个其实超重要。你不能光临时改,要让它永久生效,得去改MySQL配置文件。Linux的/etc/my.cnf或者Windows的my.ini,加入或者修改以下内容:
[mysqld]
max_allowed_packet=500M
改完后,记得重启MySQL服务,那才真有效果,否则一重启又回来了,超级闹心!
- 怎么看MySQL数据库里的表有多少?
放心吧,不需要特地打开图形界面,命令行也能搞定。连接数据库后,执行:
SELECT COUNT(*) FROM information_schema.TABLES WHERE table_schema='数据库名';
就一句话,立马告诉你数据库里有几张表,超方便的!
- 怎么快速查看数据库和表占用空间大小?
这里有一招鲜,你能用information_schema帮你看:
SELECT table_schema,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS size_mb
FROM information_schema.TABLES
GROUP BY table_schema;
哇塞,这条语句能帮你一眼看清每个数据库占用的MB数,方便得不行!想要更详细的表级别空间,同理操作就好啦。
新增评论