您好,欢迎访问一九零五行业门户网

MySQL管理员指南_MySQL

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
其它类似信息

推荐信息