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

MYSQL
MYSQL教程:新手该看的MYSQL操作
php教程:mysql的常用语句
MySQL5数据导入到MySQL3中的具体操作
PHP+MYSQL网站开发中遇到的问题汇总
WordPress的MySQL连接出错监测方法
MSSQL和Mysql自定义函数与存储过程
PHP+MYSQL网站开发中关于时间的问题
MySQL的1067错误解决方案大全
临时表在SQL Server和MySql中创建的方法
PHP+MYSQL+Flash做留言本
MYSQL5.0家族提供的性能跟踪器
替换数据库某字段的内容:REPLACE函数
PHP删除MYSQL数据库中所有表的代码
怎样解决mysql连接过多的错误?
cannot create windows service for mysql.error:0
MySQL的1067错误解决
如何指定MySQL只监听某个特定地址?
把数据从MySQL迁到Oracle的几点注意事项
MySQL默认密码修改的方法
为MySQL的root用户指定一个目录

MYSQL教程:数据目录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 44 ::
收藏到网摘: 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的数据表。