当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MYSQL教程:数据目录

MYSQL
MySQL忘记密码恢复密码的实现方法
mysql 时间转换函数的使用方法
使用mysql的disctinct group by查询不重复记录
mysql备份恢复mysqldump.exe几个常用用例
超详细mysql left join,right join,inner join用法分析
mysql 5.0.67最新版替代MySQL 5.0.51b版本官方下载
比较详细的MySQL字段类型说明
mysql 记录不存在时插入 记录存在则更新的实现方法
MYSQL基础之连接MYSQL、修改密码、添加用户
mysql数据库优化必会的几个参数中文解释
mysql中文排序注意事项与实现方法
MySQL 5.0触发器参考教程
MySQL5创建存储过程的示例
MYSQL5 masterslave数据同步配置方法
mysql数据库导出xml的实现方法
MySql增加用户、授权、修改密码等语句
Mysql默认设置的危险性分析
用MySQL创建数据库和数据库表代码
Mysql如何避免全表扫描的方法
mysql的校对规则引起的问题分析

MYSQL教程:数据目录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 47 ::
收藏到网摘: n/a

数据库是一个复杂而又关键的系统,为确保系统安全、高效运行,需熟悉数据库内部的运作机制,掌握各种维护工具,并做好日常的管理工作。下面列举几项主要工作职责:

  • 服务器的关闭和启动;

  • 管理用户帐号;

  • 管理日志文件;

  • 数据库备份恢复;

  • 数据库优化;

  • 确保数据库数据安全;

  • 数据库软件升级。

数据目录

数据目录是用来存放数据表和相关信息的地方,是数据库的核心。在MySQL中的数据目录根据不同平台的有一些差异:

  • 在UNIX/Linux系统上,如果用源码编译安装,数据目录的位置默认是在/usr/local/mysql/var中;

  • 在UNIX/Linux系统上,如果用二进制发行版安装,数据目录的位置默认是在/usr/local/mysql/data中;

  • 在WINDOWS系统上,数据目录的位置默认是在c:/mysql/data中;

   
在服务器启动时,可用--datadir=dir_name来指定数据目录,也可把它写到配置文件中。

我们还可用命令向服务器查询数据目录的位置,数据目录的变量名是datadir,如:

本文由软晨学习网(http://www.ruanchen.com)整理发布!转载请注明出处,谢谢!

  • % mysqladmin variables

    如果在一台机器上同时运行多个服务器,则可根据端口的不时来查询每个服务器的数据目录,如:

    % mysqladmin --host=127.0.0.1 --port=port_number variables

    如果--host是localhost,系统则会用一个UNIX套接字去连接数据库服务器,这时要使用--socket选项,所以查询语句变成:

    % mysqladmin --host=localhost --socket=/path/to/socket variables
  • mysql> SHOW VARIABLES LIKE 'datadir';
  • 在windows NT平台上可以使用“.”作为一条命名管道连接的主机名,用--socket选项给出命名管道的名字,如:

    c:\ mysqladmin --host=. --socket=pipe_name variables
  • 配置文件的中[mysqld]段中的datadir=/path/to/datadir设置也可查询到数据目录。

  • 在mysqld程序的帮助信息里也有程序编译时默认的数据目录信息,可用以下命令显示:

    % mysqld --help

数据目录是存放数据文件的地方,每个数据库对应目录的不同文件。InnoDB数据表由于用表空间来管理数据库,所以就没这种对应关系。但也是保存在数据目录中的,在数据目录除保存数据库文件外,还可能会保存以下几类文件:

  • 服务器的配置文件,my.cnf;

  • 服务器的进程ID(PID)文件;

  • 服务器的日志文件和状态文件,这些文件对管理数据库有重要的价值;

  • DES密钥文件或服务器的SSL证书与密钥文件。

数据目录中的所有数据库全部由服务器(mysqld)来管理,客户端不直接操作数据。服务器是客户使用数据的唯一通道。

在MySQL中,每个数据库其实就是在数据目录下一个子目录,show databases命令相当于列出数据目录中的目录清单。create database db_name命令会在数据目录下新建一个db_name的目录,以存放数据库的数据文件。所以我们也可下面的shell命令方式来建立一个空数据库:

% cd datadir
% mkdir db_name
% chmod u=rwx,go-rwx db_name

同理,删除数据库drop database db_name也就是删除数据目录中一个名为db_name的目录及目录中的数据表文件。我们也可用shell这进行操作:

% cd datadir
% rm -rf db_name
   
比较shell方式与drop database方式,drop database db_name命令不能删除db_name目录中创建的其它非数据表文件;由于InnoDB是表空间来管理数据表,所以不能用rm或del命令删除InnoDB的数据表。