mysql数据库目录(MySQL数据目录结构)

2025-05-26 05:30:01 :0

mysql数据库目录(MySQL数据目录结构)

各位老铁们好,相信很多人对mysql数据库目录都不是特别的了解,因此呢,今天就来为大家分享下关于mysql数据库目录以及MySQL数据目录结构的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

MySQL数据目录结构

  从概念上讲 大多数关系数据库系统是相似的 它们有一系列数据库组成 每个数据库包含一系列数据库表 但每个系统有各自组织其管理的数据方式 MySQL也不例外     缺省地 所有由MySQL服务器mysqld管理的数据存储在一个称为MySQL数据目录的地方 所有数据库都存放在哪儿 也包括提供服务器操作信息的状态文件 如果你对一个MySQl安装执行管理任务 你应该熟知数据目录的布局及用途      本文介绍下列专题     如何确定数据目录的位置   服务器如何组织并提供对数据库和它管理的表的访问   在哪里找到由服务器生成的状态文件记忆它们包含什么内容   如何改变缺省地点或数据目录或单独数据库的组织结构      数据目录的位置   一个缺省数据目录被编译进了服务器 如果你从一个源代码分发安装MySQL 典型的缺省目录为/usr/local/var 如果从RPM文件安装则为/var/lib/mysql 如果从一个二进制分发安装则是/usr/local/mysql/data     在你启动服务器 通过使用一个 datadir=/path/to/dir选项可以明确指定数据目录位置 如果你想把数据目录置于其它缺省位置外的某处 这很有用     作为一名MySQL管理员 你应该知道你的数据目录在哪里 如果你运行多个服务器 你应该是到所有数据目录在哪里 但是如果你不知道确切的位置 由多种方法找到它     使用mysqladmin variables从你的服务器直接获得数据目录路径名 查找datadir变量的值 在Unix上 其输出类似于   %mysqladmin variables    + + +  | variable_name | Value |  + + +  | back_log | |  | connect_timeout | |  | basedir | /var/local/ |  | datadir | /usr/local/var/ |     在Windows上 输出可能看上去像这样   c:mysqladmin variables    + + +  | variable_name | Value |  + + +  | back_log | |  | connect_timeout | |  | basedir | c:mysql |  | datadir | c:mysqldata |     如果你有多个服务器在运行 它们将在不同的TCP/IP端口或套接字上监听 通过提供连接服务器正在监听的端口或套接字的 port或 socket选项 你可以轮流获得它们每一个的数据目录信息     %msqladmin port=port_name variables    %mysqladmin socket=/path/to/socket variables    mysqladmin命令可运行在任何你能从其连接服务器的主机上 如果你想在一个远程主机连接服务器 使用一个 host=host_name选项     %mysqladmin host=host_name variables    在Windows上 你可以通过使用 pipe强制一个命令管道连接和 socket=pipe_name指定管道名来连接监听一个命令管道的NT服务器     c:mysqladmin pipe socket=pipe_name variables    你可以使用ps命令查看任何正在运行mysqld 进程的命令行   试一下下列命令之一并寻找 datadir     %ps axww | grep mysql BSD风格    %ps ef | grep mysqld System V风格    如果你的系统运行多个服务器 ps命令可能特别有用 因为你能马上发现多个数据目录位置 缺点是必须在服务器上运行 而且可能没有有用的信息产生 除非在mysqld命令行上明确指定了 datadir选项     如果MySQL是从一个源代码分发安装的 你可以检查其配置信息确定数据目录位置 例如 位置可从顶级Makefile中获得 但是注意 位置是Makefile中的localstatedir值 不是datadir 而且 如果分发位于一个NFS挂载的文件系统并用来为多个主机构建MySQL 配置信息反映了分发被最新构建的主机 这可能不能提供你感兴趣的主机的数据目录信息   如果上述方式失败 你可以用find寻找数据库文件 下列命令寻找 frm 文件 它是任何MySQL安装的一部分     % find / name frm print    在下文各例中 用DATADIR表示MySQL数据目录位置      数据目录结构     MySQL数据目录包含了服务器管理的所有数据目录 这些文件被组织成一个树状结构 通过利用Unix或Windows文件系统的层次结构直接实现     每个数据库对应于数据目录下的一个目录   在一个数据库中的表对应于数据目录下的文件   数据目录也包含由服务器产生的几个状态文件 如日志文件 这些文件提供了关于服务器操作的重要信息 对管理特别在出了问题而试图确定问题原因时很有价值 例如 如果某个特定查询杀死服务器 你可以通过检查日志文件判别捣乱的查询      MySQL服务器怎样提供对数据的访问     在数据目录下的一切由一个单独的实体 MySQL服务器mysqld管理 客户程序绝不直接操作数据 相反 服务器提供数据可访问的切入点 它是客户程序与它们想使用的数据之间的中介     当服务器启动时 如果有需要 它打开日志文件 然后通过监听网络连接位数据目录呈现一个网络接口 要访问数据 客户程序建立对服务器的一个连接 然后以MySQL查询传输请求来执行希望的操作 服务器执行每一个操作并将结果发回用户 服务器是多线程的并能服务多个同时的客户连接 然而 因为修改操作一个执行一个 实际效果是顺序化请求 以使两个客户决不能在同一时刻改变同一记录     在正常的情况下 让服务器作为数据库访问的唯一仲裁者提供了避免可从同时访问数据库表的多个进程的破坏的保证 管理员应该知道有时服务器没有对数据目录的独裁控制     当你在一个单个数据目录上运行多个服务器 一般倪云新一个服务器管理主机上的所有数据库 但是有可能运行多个服务器 如果这完成提供对多个独立数据目录的访问 没有相互影响的问题 但哟也能启动多个服务器并指向同一个目录 一般地 这不是一个好主意 如果你试图这样 最好是你的系统提供良好的文件锁定功能 否则服务器将不能正确协作 如果你将多个服务器同时写入日志文件 你也冒着你的日志文件称为混乱的根源的风险   在你运行isamc和myisamc时 isamc和myisamc实用程序用于表的维护 诊错和修复 就想你想的那样 因为这些程序可以修改表内容 允许它们与服务器正在操作的同时对表操作 这样能导致表损坏 理解如何限制这种相互影响是很重要的 这样你不会损坏你的表      数据目表示     每个MySQL服务器管理的数据库有自己的数据库表 它是数据目录下的一个子目录 其名字与它表示的数据库相同 例如数据库my_db对应于数据库目录DATADIR/my_db     这种表示允许多个数据库级的语句在其实现中十分简单 CREATE DATABASE db_name在数据目录中创建一个db_name空目录 具有只允许MySQL服务器用户(运行服务器的Unix用户)的属主和模式 这等价于下列手工在服务器主机上创建数据库     %mkdir DATADIR/db_name  %chmod DADADIR/db_name  用一个空目录表示一个新数据库的最简单方法与其它数据库甚至为一个空数据库创建大量的控制文件或系统文件正好相反     DROP DATABASE语句实现同样简单 DROP DATABASE db_name删除数据库中的db_name目录和所有表文件 这几乎与下列命令一样     %rm rf DATADIR/db_name  (差别是服务器只删除具有已知用于表的后缀名的文件 如果你在数据库目录创建了其它文件 则服务器保留它们 而且目录本身不被删除     SHOW DATABASE基本上不做什么 只是列出位于数据目录中的目录名 有些数据库系统保持一个主表 用于维护所有数据库 但在MySQL无此构件 由于赋予数据目录结构的简洁性 数据库列表隐含在数据目录的内容中 而且这样的表不必有额外的开销      数据库表的表示     每个数据库在数据库目录中有 个文件 一个样式(描述文件) 一个数据文件和一个索引文件 每个文件的基本名是表名 文件名扩展名代表文件类型 扩展名如下表 数据和索引文件的扩展名指出表使用老式IASM索引或新式MyISAM索引     表 MySQL文件类型  文件类型 文件名扩展名 文件内容  样式文件 frm 描述表的结构(它的列 列类型 索引等)   数据文件 ISD(ISAM)  或 MYD(MyISAM) 包含数据文件上的所有索引的索引树   索引文件 ISM(ISAM)  或 MYI(MyISAM) 该索引文件依赖表是否有索引而存在     当你发出一条CREATE TABLE tbl_name时语句定义表的结构时 服务器创建一个名为tbl_name frm的文件 它包括该结构的内部编码 同时也创建一个空数据和索引文件 初始化为包含指出无记录和无索引的信息(如果CREATE TABLE语句包括索引指定 索引文件反映出这些索引) 对应于表的文件的属主和模式被设置为只允许MySQL服务器用户访问     当你发出一条ALTER TABLE tbl_name语句时 服务器重新编码tbl_name frm 并修改数据和索引文件的内容以反映语句指定的结构改变 对于CREATE INDEX和DROP INDEX也是一样 因为它们被服务器视为与ALTER TABLE等价 DROP TABLE通过删除对应于表的三个文件来实现     虽然你可以通过删除数据库目录中对应于表的三个文件 但不能手工创建或修改一个表 如 如果my_db是当前数据库 DROP TABLE my_tbl大概等价于下列命令 《b lishixinzhi/Article/program/MySQL/201311/29333

如何设置mysql数据库的路径

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把MySQL目录移到/home/data下需要进行下面几步:\x0d\x0a1、home目录下建立data目录\x0d\x0acd /home\x0d\x0amkdir data\x0d\x0a2、把MySQL服务进程停掉\x0d\x0amysqladmin -u root -p shutdown\x0d\x0a3、把/var/lib/mysql整个目录移到/home/data\x0d\x0amv /var/lib/mysql /home/data/\x0d\x0a这样就把MySQL的数据文件移动到了/home/data/mysql下。\x0d\x0a4、找到my.cnf配置文件\x0d\x0a如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:\x0d\x0a\x0d\x0a# vi /etc/init.d/mysql\x0d\x0a#datadir=/var/lib/mysql(注释此行)\x0d\x0adatadir=/home/data/mysql (加上此行) \x0d\x0a\x0d\x0a7、重新启动MySQL服务\x0d\x0a\x0d\x0a/etc/init.d/mysql start\x0d\x0a\x0d\x0a或用reboot命令重启Linux\x0d\x0a如果工作正常移动就成功了,否则对照前面的7步再检查一下。\x0d\x0a还要注意目录的属主和权限。

如何更改MySQL数据库的默认目录位置

1.停止数据库服务:
  使用/etc/init.d/mysql
stop
或者
stop
mysql
  2.
在目标位置(/data)创建数据库文件的目录(如/mysqldb),并复制(如果不再使用默认的位置,则可以直接mv原先数据库文件到新目录下)原先的数据库文件目录到该目录下:
  cd
/data
  mkdir
mysqldb
  cp
-r
/var/lib/mysql
/data/mysqldb/
  经过一段时间的等待后,在/data/mysqldb/下面就有了原先默认的mysql数据库文件目录的拷贝“/mysql”
  3.修改my.cnf文件
  #
vim
/etc/mysql/my.cnf
  将datadir
=
/var/lib/mysql
改为
datadir
=
/data/mysqldb/mysql
  另外由于当前my.cnf
中的socket
=
/var/run/mysqld/mysqld.sock(而并非像网上所说的sock
=
/var/lib/mysql/mysql.sock),即socket的位置并不在数据库文件所在的位置,因此可以不做类似网上其他网页所说的,要使用以下的命令做一个mysql.sock
链接:
  ln
-s
/data/mysqldb/mysql/mysql.sock
/var/lib/mysql/mysql.sock
(需要从/home/data/mysql下复制一份过来)
  4.
修改数据库的权限:
  #
chown
-r
mysql:mysql
/data/mysqldb/mysql/ 
←
改变数据库文件目录的归属为mysql
  #
chmod
700
/data/mysqldb/mysql/whois/ 
←
改变数据库目录whois的属性为700
  #
chmod
660
/data/mysqldb/mysql/whois/* 
←
改变数据库中数据表的属性为660
  5.
修改文件usr.sbin.mysqld
  #
vim
/etc/apparmor.d/usr.sbin.mysqld
  把
  /var/lib/mysql
r,
  /var/lib/mysql/**
rwk,
  改成
  /data/mysqldb/mysql/
r,
  /data/mysqldb/mysql/**
rwk,
  注意:没有该步骤的话,将导致数据库服务无法重启,好像在重启,但是一直卡住无反应。
  6.启动mysql服务器
  /etc/init.d/apparmor
restart  
  /etc/init.d/mysql
restart
(或者使用
restart
mysql)

关于mysql数据库目录和MySQL数据目录结构的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

mysql数据库目录(MySQL数据目录结构)

本文编辑:admin

更多文章:


unlikely(not likely和unlikely含义一样吗)

unlikely(not likely和unlikely含义一样吗)

大家好,如果您还对unlikely不太了解,没有关系,今天就由本站为大家分享unlikely的知识,包括not likely和unlikely含义一样吗的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录not lik

2025年10月23日 20:45

kindeditor 在dialog中居中(在Iframe中使用jquery ui dialog 怎么使弹出窗口居于浏览器中间)

kindeditor 在dialog中居中(在Iframe中使用jquery ui dialog 怎么使弹出窗口居于浏览器中间)

本篇文章给大家谈谈kindeditor 在dialog中居中,以及在Iframe中使用jquery ui dialog 怎么使弹出窗口居于浏览器中间对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有

2025年7月27日 23:15

网络security(什么是网络安全等级保护)

网络security(什么是网络安全等级保护)

本篇文章给大家谈谈网络security,以及什么是网络安全等级保护对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录什么是网络安全等级保护网络

2026年8月29日 04:15

ASP.NET MVC 4框架揭秘:Controller类型的缓存?RxCache缓存框架

ASP.NET MVC 4框架揭秘:Controller类型的缓存?RxCache缓存框架

本篇文章给大家谈谈缓存框架,以及ASP.NET MVC 4框架揭秘:Controller类型的缓存对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录ASP.NET MVC 4框架揭秘:Controller类型的缓存RxCache

2026年6月1日 06:00

java编程工具免费(请问java编写程序除了用eclipse,还可以用什么我主要是想做web前端的,有没有什么视图化的软件啊)

java编程工具免费(请问java编写程序除了用eclipse,还可以用什么我主要是想做web前端的,有没有什么视图化的软件啊)

本篇文章给大家谈谈java编程工具免费,以及请问java编写程序除了用eclipse,还可以用什么我主要是想做web前端的,有没有什么视图化的软件啊对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录请问java编写程序除了用ec

2025年8月4日 12:30

memcached性能(PHP中4个加速,缓存扩展的区别和选用建议)

memcached性能(PHP中4个加速,缓存扩展的区别和选用建议)

大家好,关于memcached性能很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于PHP中4个加速,缓存扩展的区别和选用建议的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各

2025年9月8日 08:45

2  3表示什么python(python语句:print(*[1,2,3]),是什么意思)

2 3表示什么python(python语句:print(*[1,2,3]),是什么意思)

大家好,关于2 3表示什么python很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于python语句:print(*[1,2,3]),是什么意思的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还

2026年8月14日 22:30

java下载了打不开(为什么下载了java也玩不了我的世界)

java下载了打不开(为什么下载了java也玩不了我的世界)

大家好,关于java下载了打不开很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于为什么下载了java也玩不了我的世界的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮

2026年5月17日 05:15

timeformat函数(GetTimeFormat怎么用,各个参数尤其是最后一个有点看不懂)

timeformat函数(GetTimeFormat怎么用,各个参数尤其是最后一个有点看不懂)

本篇文章给大家谈谈timeformat函数,以及GetTimeFormat怎么用,各个参数尤其是最后一个有点看不懂对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘

2025年11月13日 04:30

平面设计网页设计(网页设计和平面设计那个好就业)

平面设计网页设计(网页设计和平面设计那个好就业)

本篇文章给大家谈谈平面设计网页设计,以及网页设计和平面设计那个好就业对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录网页设计和平面设计那个好

2025年8月24日 04:15

tragic的副词(tragic的翻译)

tragic的副词(tragic的翻译)

各位老铁们,大家好,今天由我来为大家分享tragic的副词,以及tragic的翻译的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录tragic的翻译

2026年7月30日 07:30

murmure(murmure微信号是什么意思)

murmure(murmure微信号是什么意思)

“murmure”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看murmure(murmure微信号是什么意思)!本文目录murmure微信号是什么意思murmure是什么意思 《法语助手》法汉法语中murmure算拟声词吗

2026年3月28日 19:45

sqlite3规则(sqlite3数据库 运行一段时间后 命令行操作出现:Error:unsupported file format)

sqlite3规则(sqlite3数据库 运行一段时间后 命令行操作出现:Error:unsupported file format)

这篇文章给大家聊聊关于sqlite3规则,以及sqlite3数据库 运行一段时间后 命令行操作出现:Error:unsupported file format对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录sqlite3数据库

2025年10月25日 22:45

注销cancelled(cancel翻译成中文)

注销cancelled(cancel翻译成中文)

其实注销cancelled的问题并不复杂,但是又很多的朋友都不太了解cancel翻译成中文,因此呢,今天小编就来为大家分享注销cancelled的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录cancel翻译成中

2025年10月31日 01:00

lsp论坛源码(cad中添加LSP软件,如何使用)

lsp论坛源码(cad中添加LSP软件,如何使用)

其实lsp论坛源码的问题并不复杂,但是又很多的朋友都不太了解cad中添加LSP软件,如何使用,因此呢,今天小编就来为大家分享lsp论坛源码的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录cad中添加LSP软件,如

2026年3月8日 00:45

如何设置excel下拉框?如何设置excel下拉框选项

如何设置excel下拉框?如何设置excel下拉框选项

大家好,如果您还对设置下拉框不太了解,没有关系,今天就由本站为大家分享设置下拉框的知识,包括如何设置excel下拉框的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录如何设置excel下拉框如何设置excel下拉框选

2026年1月19日 00:30

计算机编程有哪几种(计算机编程分为哪几类)

计算机编程有哪几种(计算机编程分为哪几类)

各位老铁们,大家好,今天由我来为大家分享计算机编程有哪几种,以及计算机编程分为哪几类的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录计算机编程分为哪

2025年11月13日 05:15

dialogue英文意思(dialogue是什么意思)

dialogue英文意思(dialogue是什么意思)

大家好,dialogue英文意思相信很多的网友都不是很明白,包括dialogue是什么意思也是一样,不过没有关系,接下来就来为大家分享关于dialogue英文意思和dialogue是什么意思的一些知识点,大家可以关注收藏,免得下次来找不到哦

2025年10月23日 14:30

extensional mentality的意思(mentality是什么意思)

extensional mentality的意思(mentality是什么意思)

其实extensional mentality的意思的问题并不复杂,但是又很多的朋友都不太了解mentality是什么意思,因此呢,今天小编就来为大家分享extensional mentality的意思的一些知识,希望可以帮助到大家,下面我

2026年1月6日 13:00

汇编语言的汇编过程(如何实现汇编语言的汇编过程)

汇编语言的汇编过程(如何实现汇编语言的汇编过程)

“汇编语言的汇编过程”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看汇编语言的汇编过程(如何实现汇编语言的汇编过程)!本文目录如何实现汇编语言的汇编过程汇编程序的工作过程在计算机中,将汇编语言转换为机器语言的过程叫试简要说明

2025年11月5日 21:00

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索