mysql在哪里存储数据?我发现(通过使用mysql> SELECT @@ datadir)它在var / lib / mysql中 - 但这不可能。我有一个非常大的数据库(4 GB),称为'bot',但'bot'子目录中的所有文件(var / lib / mysql / bot)只有280KB。其余的在哪里?
还有一件事 - 数据库大小的99%是其中一个表中的文本列 - 我知道mysql将它存储在单独的文件中,但它是否会为每个记录创建一个文件?
我在var / lib / mysql目录中找到了一个名为ibdata1的大文件 - 它的大小超过8GB - 它是什么? (顺便说一句,var / lib / mysql目录中还有其他数据库)。
答案 0 :(得分:33)
来自here:
<强>窗强>
1)找到存储在MySQL安装文件夹中的my.ini。
例如,C:\Program Files\MySQL\MySQL Server 5.1\my.ini
2)用我们喜欢的文本编辑器打开“my.ini”。
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"
#Path to the database root
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"
找到“datadir”
,这是MySQL在Windows中存储数据的地方。
<强>的Linux 强>
1)使用find / -name my.cnf命令找到my.cnf。
yongmo@myserver:~$ find / -name my.cnf
find: /home/lost+found: Permission denied
find: /lost+found: Permission denied
/etc/mysql/my.cnf
2)查看my.cnf file cat /etc/mysql/my.cnf
yongmo@myserver:~$ cat /etc/mysql/my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
3)找到“datadir”
,这就是MySQL在Linux系统中存储数据的地方。
答案 1 :(得分:17)
在行之间阅读 - 这是一个innodb数据库吗?在这种情况下,实际数据通常以名称ibdata1存储在该目录中。此文件包含所有表,除非您专门设置mysql以使用每个表一个文件(innodb-file-per-table)
答案 2 :(得分:11)
至少在5.6版本中,MySQL Workbench中的Management选项卡显示它位于C:\驱动器中名为ProgramData的隐藏文件夹中。我的默认数据目录是
C:\ ProgramData \ MySQL \ MySQL Server 5.6 \ data
。每个数据库都有一个文件夹,每个表都有一个文件。
答案 3 :(得分:1)
我刚刚在MySQL Server 5.7
上安装了Windows 10
,而my.ini
文件位于c:\ProgramData\MySQL\MySQL Server 5.7\my.ini
。
Data
文件夹(创建dbs的位置)位于C:/ProgramData/MySQL/MySQL Server 5.7\Data
。
答案 4 :(得分:0)
正如@PhilHarvey 所说,您可以使用 mysqld --verbose --help | grep datadir
答案 5 :(得分:-1)
在Windows上的mysql服务器8.0中,位置为C:\ProgramData\MySQL\MySQL Server 8.0\Data