Home > Database > Mysql Tutorial > MySQL管理员指南_MySQL

MySQL管理员指南_MySQL

WBOY
Release: 2016-06-01 13:47:52
Original
1023 people have browsed it

bitsCN.com

Mysql数据库介绍
    MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准
化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的
客户程序和库组成。

    SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索
产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。

    MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂
贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以
来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行
,这大约有100 个吉字节(GB)的关键应用数据。

Mysql数据库特点
1.  使用核心线程的完全多线程。这意味着它能很容易地利用多CPU(如果有)。
2.  可运行在不同的平台上。
3.  多种列类型:1、 2、 3、4、和 8 字节长度的有符号/无符号整数(INT)、FLOAT、DOUBLE、CHAR、
    VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、SET和ENUM类型。
4.  利用一个优化的一遍扫描多重联结(one-sweep multi-join)非常快速地进行联结(join)。
5.  在查询的SELECT和WHERE部分支持全部运算符和函数。
6.  通过一个高度优化的类库实现SQL函数库并且像他们能达到的一样快速,通常在查询初始化后不应该有任
    何内存分配。
7.  全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数( COUNT()、COUNT(DISTINCT)、AVG()、STD()、
    SUM()、 MAX()和MIN() )。
8.  支持ANSI SQL的LEFT OUTER JOIN和ODBC语法。
9.  你可以在同一查询中混用来自不同数据库的表。
10. 一个非常灵活且安全的权限和口令系统,并且它允许基于主机的认证。口令是安全的,因为当与一个服
    务器连接时,所有的口令传送被加密。
11. ODBC for Windiws 95。
12. 具备索引压缩的快速B树磁盘表。
13. 每个表允许有16个索引。每个索引可以由1~16个列或列的一部分组成。最大索引长度是 256 个字节(在
    编译MySQL时,它可以改变)。一个索引可以使用一个CHAR或VARCHAR字段的前缀。
14. 定长和变长记录。
15. 用作临时表的内存散列表。
16. 大数据库处理。我们正在对某些包含 50,000,000 个记录的数据库使用MySQL。
17. 所有列都有缺省值,你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的缺省
    值。
18. 一个非常快速的基于线程的内存分配系统。
19. 没有内存漏洞。用一个商用内存漏洞监测程序测试过(purify)。
20. 包括myisamchk,一个检查、优化和修复数据库表的快速实用程序。
21. 全面支持ISO-8859-1  Latin1 字符集。
22. 所有数据以 ISO-8859-1  Latin1 格式保存。所有正常的字符串比较是忽略大小写的。
23. DELETE、INSERT、REPLACE和UPDATE 返回有多少行被改变(受影响)。
24. 函数名不会与表或列名冲突。例如ABS是一个有效的列名字。对函数调用的唯一限制是函数名与随后的
    "("不能有空格。
25. 所有MySQL程序可以用选项--help或-?获得联机帮助。
26. 服务器能为客户提供多种语言的出错消息。
27. 客户端使用TCP/IP 连接或Unix套接字(socket)或NT下的命名管道连接MySQL。
28. MySQL特有的SHOW命令可用来检索数据库、表和索引的信息,EXPLAIN命令可用来确定优化器如何解决一
    个查询。
   
MySQL服务器的启动与停止

一、启动服务器的方法
启动服务器由三种主要方法:

1、 直接调用mysqld。
#./mysqld&
这可能是最不常用的方法,建议不要多使用。

2、调用safe_mysqld脚本,最好的方法。
#./safe_mysqld -O join_buffer=128M -O key_buffer=128M -O record_buffer=256M -O sort_buffer=128M -O table_cache=2048 -O tmp_table_size=16M -O max_connections=2048 &

3、调用mysql.server脚本。
safe_mysqld脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的scripts目录下找到。
mysql.server脚本安装在MySQL安装目录下的share/mysqld目录下或可以在MySQL源代码分发的support_files
目录下找到。如果你想使用它们,你需要将它们拷贝到适当的目录下mysql/bin下。
#./mysql.server start

Sun Solariys开机自动启mysql的方法
写一个启动和关闭的批处理文件Web (在路径/etc/init.d 下), 内容如下:

#!/bin/sh
OPT_=$1

case "$OPT_" in
    start)
 /bin/echo "$0 : (start)"
 #
 # Your service startup command goes here.
 #
       /usr/local/apache/bin/apachectl start
       /home3/mysql/bin/safe_mysqld -O join_buffer=128M -O key_buffer=128M -O record_buffer=256M -O sort_buffer=128M -O table_cache=2048 -O tmp_table_size=16M -O max_connections=2048 &

 # NOTE: Must exit with zero unless error is severe.
 exit 0
 ;;
    stop)
 /bin/echo "$0 : (stop)"
 #
 # Your service shutdown command goes here.
 #
       /usr/local/apache/bin/apachectl stop

 # NOTE: Must exit with zero unless error is severe.
 exit 0
 ;;
    *) /bin/echo
 /bin/echo "Usage: $0 [start|stop]"
 /bin/echo "       Invalid argument ==> "${OPT_}""
 /bin/echo
 exit 0
 ;;
esac
确认此文件有可执行的权利
#chmod 500 web
#cd /etc/rc2.d
#ln -s ../init.d/web S99mysql
在系统启动时,S99mysql脚本将自动用一个start参数调用。注意头字母必须大写。

二、停止服务器的方法
1、要手工停止服务器,使用mysqladmin:
#mysqladmin -u 用户名 -p密码 shutdown
2、 调用mysql.server脚本,最好的方法。
#./mysql.server stop
3、 直接杀掉OS的进程号
#kill -9 进程号
这可能是最不常用的方法,建议不要多使用。

要自动停止服务器,你不需做特别的事情。只需要加另外一个关闭程序。
#cd /etc/rc0.d
#ln -s ../init.d/web K01mysql
在系统启动时,K01mysql脚本将自动用一个stop参数调用。

MySQL目录结构和常用命令
一、 数据目录的位置
这是默认的mysql目录结构
bin        info       libexec    share      var
include    lib        man        sql-bench  

一个缺省数据目录被编译进了服务器,如果你从一个源代码分发安装MySQL,典型的缺省目录为
/usr/local/var,如果从RPM文件安装则为/var/lib/mysql,如果从一个二进制分发安装则是
/usr/local/mysql/data。
作为一名MySQL管理员,你应该知道你的数据目录在哪里。如果你运行多个服务器,你应该是到所有数据目录
在哪里,但是如果你不知道确切的位置,由多种方法找到它:

1、使用mysqladmin variables从你的服务器直接获得数据目录路径名。查找datadir变量的值,在Unix上,其输出类似于:
%mysqladmin -u username -p***** variables

+----------------------+----------------------+
| variable_name        | Value                |
+----------------------+----------------------+
| back_log             | 5                    |
| connect_timeout      | 5                    |
| basedir              | /var/local/          |
| datadir              | /usr/local/var/      |
....
2、查找mysql运行的路径
%ps -ef | grep mysqld           

二、数据目录结构
每个数据库对应于数据目录下的一个目录。
在一个数据库中的表对应于数据目录下的文件。
数据目录也包含由服务器产生的几个状态文件,如日志文件。这些文件提供了关于服 bitsCN.com

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template