`
dingdangxiaoma
  • 浏览: 71605 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

MySQL安装与配置-2005-07-19

阅读更多
[原创] [原创]MySQL安装与配置-2005-07-19
http://www.chinaunix.net 作者:tyc00n  发表于:2006-12-07 22:50:15
【发表评论】【查看原文】【MySQL讨论区】【关闭】

[原创]MySQL安装与配置-2005-07-19
作者:tyc00n
如有转载,请注明出处及以上信息

在学习MySQL过程中,遇到了很多的麻烦,为了让初学者不再遇到相同的问题,所以我花了点时间写了本文。本人也是一个新手,还望多多指教!!
在安装MySQL之前,先来了解一下相关的配置文件

MySQL配置文件
MySQL发布的最新产品实际上超出了Red Hat Enterprise Linux所携带的版本。但是,稳定性和开放源代码可是很重要的因素,因此在操作系统上使用较早MySQL版本是有道理的。
有许多可以采用的配置文件,它们都被包含在mysql-server PRM程序中。还有一个默认的配置文件被包含在mysql PRM程序包中。
配置MySQL服务器是一个丰富而复杂的工作。在本文中,我只能肤浅的说一下各种选项。可以使用的MySQL配置文件共有5个。最后4个位于/usr/share/doc/mysql-server-*/目录中。
·/etc/my.cnf是默认的MySQL配置文件。应该对这个文件配置修改。它是为学习目的而设计的。
·my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
·my-medium.cnf是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
·my-large.cnf是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。
·my-huge.cnf是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。
这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库的用户数量以及在数据库中装入并访问数据的用户数量。随着数据库和用户的不断增加,数据库的性能可能会发生变化。
我将逐个的说明这些配置文件。如果用户决定使用my-*.cnf文件之一,将首先需要把这个文件复制到/etc/my.cnf文件上。
由于这些原因,用户应该仔细观察数据库系统的性能。如果发现问题,可能需要增加更多的RAM,或者把数据库迁移到一个含有附加资源(比如多个CPU)的系统上。
提示:数据库变得非常大。把一个SQL数据库目录配置在一个专用分区上可能更有道理。虽然一个不断增长的数据库可能会占满整个分区,但它至少不会吞掉RHEL运行所必需的磁盘空间。
/etc/my.cnf文件
默认是/etc/my.cnf文件。它包含6条命令,并且这6条命令被组织在3个配置段中。这些配置段与Samba配置文件中的配置段相似,并且含有功能组名称和相关的命令。本文将逐行的说明这个文件的默认版本。如果用户进行了任何修改,将需要确保MySQL启动脚本(即/etc/rc.d/init.d/mysqld)中的命令一致。
[mysqld]
在这个配置段之内,将会看到与MySQL守护进程相关的命令。
datadir=/var/lib/mysql
MySQL服务器把数据库存储在由datadir变量所定义的目录中。
Socket=/var/lib/mysql/mysql.sock
MySQL套接字把数据库程序局部的或通过网络连接到MySQL客户。

提示:MySQL被配置成使用InnoDB存储器引擎。如果用户在自己的系统上还没有一个InnoDB数据库,将需要给[mysqld]配置段添加skip-innodb语句。
[mysql.server]
在这个配置段之内,将会看到MySQL服务器守护进程有关的命令。这个配置段的较早期版本被命名为[mysql_server]。如果使用MySQL4.X或MySQL4.X以上版本,将必须把这个配置段标题改成[mysql_server]。当启动MySQL服务时,它使用这个配置段中的选项。
user=mysql
与MySQL服务相关联的标准用户名是mysql。它应该是/etc/passwd文件的一部分;如果在这个文件中没有发现它,用户可能还没有安装Red Hat Enterprise Linux mysql-server RPM程序包。
basedir=/var/lib
这表示MySQL数据库的顶级目录。它充当MySQL系统上的一个根目录;这个数据库中的其它目录都是相对于这个目录。
[safe_mysqld]
这个配置段包含MySQL启动脚本所引用的命令。如果使用MySQL4.X或4.X以上版本,必须把这个配置段改成[mysqld_safe]。
err-log=/var/log/mysqld.log
这是MySQL所关联的错误被发送到的这个文件。如果使用MySQL4.X或4.X以上版本,必须使用log-error指令替换这条命令。
pid-file=/var/run/mysqld/mysqld.pid
最后,pid-file指令定义MySQL服务器在运作期间的进程标识符(PID)。如果MySQL服务器当前没有运行,这个文件应该不存在。
提示:用户可以配置与用户特定相关的MySQL配置文件;为此,只需给指定用户主目录中的.my.cnf隐含文件添加所选的配置命令即可。
my-samll-cnf
在本文中,将说明my-small-cnf配置文本中的所有命令。当回顾其它MySQL样本配置文件时,将参考本文所解释的各条命令和指令的含义。先从下面这个配置段开始分析该文件中的有效命令和指令:
[client]
这个配置把指令传递给与MySQL服务器相关的客户。
port=3306
MySQL所相关的标准TCP/IP端口是3306。如果需要修改这个端口号(可以增强安全),必须确保用于MySQL客户与服务器的所有相应配置文件中均修改这个号。
socket=/var/lib/mysql/mysql.sock
正像默认的/etc/my.cnf文件中所定义的那样,这是控制MySQL客户与服务器间通信的标准套接字文件。
[mysqld]
当启动MySQL服务器时,它由[mysqld]配置段中所定义的命令来控制。
port=3306
socket=/var/lib/mysql/mysql.sock
当然,与同一个MySQL数据库相关的客户与服务器需要使用相同的TCP/IP端口和套接字。
skip-locking
多个客户可能会访问同一个数据库,因此这防止外部客户锁定MySQL服务器。这个skip-locking命令是MySQL4.X或4.X以上版本中的skip-external-locking命令。
一般来说,如果正在使用MySQL4.X或4.X上以版本,这个set-variable指令没有必要带有这个列表中的这些命令。
set-variable=key_buffer=16k
这个缓冲区确实很小;如果一个数据库在一个文本文件中包含不止几百行数据,它将会超载这个缓冲区的容量。这个数据库可能不会超载一个文本文件地址簿的容量。如果这不只是一个供个人使用的数据库,这个限额很快就会被达到。假使那样的话,可能需要考虑与其它配置文件之一相关的那些限额。
set-variable=max_allowed_packet=1M
当然,与一个数据库相关的信息会增加到超出实际数据。在默认的情况下,如果该信息在一个服务器上超过1MB以上,MySQL将会产生一条错误信息。
set-variable=thread_stack=64k
这条指令限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用。
set-variable=table_cache=4
用户可以限定一个数据库中打开表的数量;越小的限额(默认值是64)适合越小规模的数据库。
set-variable=sort_buffer=64k
在处理一个数据库时,用户可能需要内存中附加的缓冲区空间。
set-variable=net_buffer_length=2k
正如net_buffer_length指令所定义的,MySQL服务器还给传入的请求保留了空间。
server-id=1
一般来说,如果有一个MySQL主服务器,应该把它的server-id设置成1;应该把MySQL从属服务器的server-id设置成2;
[mysqldump]
用户可以在不同类型的SQL数据库之间传输数据,这由[mysqldump]配置段中的命令来控制。
quick
quick选项支持较大数据库的转储。
set-variable=max_allowed_packet=16M
当然,用来传输数据库表到其它数据库的max_allowed_packet大于客户与服务器之间的简单通信所使用的信息包。
[mysql]
no-auto-rehash
这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。
[isamchk]
[myisamchk]
像SQL这样的关系数据库用所谓的Indexed Sequential Access Method(索引顺序存取方法,简称ISAM)来处理。这两个配置段中的命令是相同的;这些命令与检查并修复数据库表的同名命令有关。
set-variable=key_buffer=8M
set-variable=sort_buffer=8M
在前面谈及MySQL服务器时,用户己经见过这些变量。它们在这里都比较大,以便支持数据库的较快速检查与修复。
[mysqlhotcopy]
interactive-timeout
正如[mysqlhotcopy]配置段所指定的,在一个数据库复制操作期间,连接会挂起。在默认情况下,interactive-timeout变量把一个数据传输的最大时间量设置为28800秒(8个小时)。

my-medium.cnf文件
与中等数据库相关的MySQL配置文件含有和my-small-cnf配置文件中一样的有效配置段。在[mysqld]配置段中,下面这些命令支持较大规模的服务器数据库:
set-variable=key_buffer=16M
set-variable=table_cache=64
set-variable=sort_buffer=512K
set-variable=net_buffer_length=8K
log-bin
一般来说,这个配置段中的命令支持服务器上的较大高速缓存与缓冲区长度。应该看到两条新命令。
set-variable=myisam_sort_buffer_size=8M
log-bin
myisam_sort_buffer_size命令允许MySQL索引数据库,第二条命令支持二进制日志记录方法。
[isamchk]
[myisamchk]
当然,这两个配置段中的缓冲区比用于数据库传输的缓冲区大,这个文件包含下面这些命令;它们发送消息到服务器和接收来自服务器的消息。
set-variable=read_buffer=2M
set-variable=write_buffer=2M

my-large.cnf文件
与较大型数据库相关的MySQL配置文件含有和my-samll-cnf配置文件中一样的有效配置段。在本文中,将比较my-large-cnf与my-medium-cnf样本文件中的各条命令。在[mysqld]配置段中,下面这些命令支持较大型的服务器数据库:
set-variable=key_buffer=256M
set-variable=table_cache=256
set-variable=sort_buffer=1M
set-variable=myisam_sort_buffer_size=64M
set-variable=net_buffer_length=8K
这个配置段中有3条附加的命令。record_buffer命令保存对一个数据库中不同表的扫描结果。thread_cache命令对多请求有用;空闲线程被高速缓存起来,进而允许新的搜索操作采用己有的线程。只要这防止搜索操作启动新的服务器进程,这就能减轻系统上的负荷。
set-variable=record_buffer=1M
set-variable=thread_cache=8
set-variable=thread_concurrency=8
thread_concurrency变量限定同时运行的线程数量。my-large.cnf样本文件建议用户应该把这个数量限定于本计算机上CPU数量的两倍;这个特定设置相当于4个CPU。

my-huge.cnf文件
my-huge.cnf文件含有和my-large.cnf配置文件中一样的命令。当然,分配给大多数指令的值比较大并适合较大型的数据库。
正如ww.mysql.com站点上所描述的,拥有大量数据库的组织,比如:google、Sabre和NASA都采用MySQL。虽然我们猜测这些公司所使用的命令不同于用户在my-huge.cnf文件中所看到的命令,但这至少让用户对MySQL企业级数据库有一个概念。
为了方便起见,本文所说的采用Red Hat Enterprise Linux 4.0所携带的版本,在终端中输入以下命令:
[root@tyc00n ~]#rpm –q mysql
会得到以下所显示的内容
mysql-4.1.7-4 RHEL4.1
这说明了在安装RHEL的时候,己经安装了MySQL。是不是己经安装了MySQL就可以运行了呢?接着再输入以下命令:
[root@tyc00n ~]# service mysqld start
显示如下:
mysqld:unrecognized service
说明了MySQL服务器还没有启动,还需要安装MySQL-Server程序包。其版本要与所携带的一致。如:MySQL-Server-4.1.7-4.i386.rpm。安装完成之后,重复执行之前的指令,会得到以下显示信息。
初始化MySQL数据库: [确定]
启动MySQL:          [确定]

配置MySQL用户
在配置一个MySQL服务器时,需要配置该服务器上的用户。这些用户独立于Linux计算机上的用户和组。首先,需要为MySQL系统添加一个根用户。令人遗憾的是,需要在命令行上用明文形式添加与根用户相关的密码。
下面这个命令为MySQL系统创建一个根用户:
#mysqladmin –u root password i8oe66q
当然,还需要创建普通用户来访问这个MySQL系统。接着,需要使用根帐号登录到MySQL中,如下所示:
[root@tyc00n root]#mysql –u root –p
Enter password:
Welcome to the MySQL montor. Command end with; or \g.
Your MySQL connection id is 7 to server Version:4.1.7

Type ‘help;’ lr ‘\h’ for help.Type ‘\C’ to clean the buffer.
Mysql>;

提示:用户应该在直接登录到MySQL服务器中创建MySQL用户。除非使用一个SSH这样的安全协议,否则密码将用明文形式传递。此外,由于MySQL密码直接键入在命令行上,所以在创建MySQL用户时,避免让其它人站在旁边观看。

续……
分享到:
评论

相关推荐

    MySQL-概述-安装配置 mysql-8.0.31-winx64

    本文将深入探讨MySQL的概述以及如何在Windows操作系统上安装和配置MySQL 8.0.31版本。 **一、MySQL概述** MySQL是一个开源、免费的数据库系统,由Oracle公司维护。它基于SQL(结构化查询语言)标准,提供了高性能...

    MySQL安装配置教程-带详细配置图片版本

    #### 四、MySQL配置指南 - **配置向导**: - **配置方式**:选择“Detailed Configuration(手动精确配置)”,以便更好地控制各项配置。 - **服务器类型**:根据服务器用途选择合适的类型。 - **Developer ...

    mysql-installer-community-8.0.22.0.msi的安装与配置

    此时,可以修改MySQL配置文件中的端口号,然后重启服务。 3. **权限问题**:如果安装时提示需要管理员权限,尝试以管理员身份运行安装程序。如果安装后无法访问MySQL,确保你的用户有足够权限。 4. **连接问题**:...

    mysql-installer-community-5.7.28.0全套安装、配置、卸载

    总结,`mysql-installer-community-5.7.28.0`提供了MySQL Server的全方位安装和管理体验,不仅包含服务器安装,还涵盖了配置、可视化管理和卸载等环节。通过熟悉这些步骤,用户可以轻松地在自己的系统上搭建和管理...

    国产麒麟系统KylinOS 安装MySQL 8.0-RPM包安装操作手册

    国产麒麟系统KylinOS 安装MySQL 8.0-RPM包安装操作手册 在国产麒麟系统KylinOS环境下安装MySQL 8.0-RPM包需要按照以下步骤进行操作。 检查是否有mysql残留 在安装MySQL之前,需要检查服务器是否已经安装了mysql。...

    MySQL8.0.19安装配置教程和安装包(Mac系统)

    (1)MySQL8.0.19 在 Mac 环境下的安装; (2)本资源包括安装配置教程和压缩安装包; (3)先运行 mysql-8.0.19-macos10.15-x86_64.dmg 这个安装包,将 MySQL Server 安装到 Mac 系统; (4)再运行 mysql-...

    MySQL安装配置教程-包安装

    #### 一、MySQL简介与安装前准备 MySQL 是一款非常流行的开源关系型数据库管理系统,广泛应用于各种规模的应用程序中。它以其高性能、可靠性和易用性而著称,是许多企业和开发者首选的数据存储解决方案。 #### 二...

    mysql8.0.23安装配置详解--必看.rar

    - `port`:设置服务器监听的端口,与安装时配置的端口一致。 - `max_connections`:设置允许的最大连接数,可根据服务器性能适当调整。 最后,启动MySQL服务。可以使用`net start MySQL服务名`命令启动,或通过服务...

    mysql57-community-release-el7-11.noarch.rpm安装包和使用说明

    `mysql57-community-release-el7-11.noarch.rpm`是一个适用于Red Hat Enterprise Linux 7 (RHEL 7)或兼容系统的RPM安装包,它包含了安装MySQL 5.7所需的所有依赖项和配置脚本。 在使用`mysql57-community-release-...

    Apache+php+mysql安装与配置-1.mht

    Apache+php+mysql安装与配置,内容十分详细,希望有帮助。

    Apache+php+mysql安装与配置-2.mht

    Apache+php+mysql安装与配置,内容十分详细,希望有帮助。

    Apache+php+mysql安装与配置-3.mht

    Apache+php+mysql安装与配置,内容十分详细,希望有帮助。

    mysql连接包mysql-connector-java-5.1.27.jar

    MySQL是世界上最流行的开源关系型数据库管理系统之一,而`mysql-connector-java`是MySQL官方提供的用于Java应用程序连接到MySQL服务器的驱动程序。`mysql-connector-java-5.1.27.jar`是这个驱动的一个特定版本,它...

    windows版mysql安装包-mysql5-mysql-5.5.zip

    - **配置my.ini文件**: 在安装目录下找到my.ini文件,这是MySQL的配置文件,可以修改各项参数以适应你的系统需求。 - **设置数据目录**: 指定数据存储的位置,确保该目录有合适的权限和足够的空间。 - **安全设置...

    mysql-connector-odbc-8.0.15-winx64/32.msi

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而MySQL Connector/ODBC则是MySQL数据库系统与应用程序之间...正确安装并配置该驱动后,开发者可以利用ODBC接口轻松地在各种应用程序中与MySQL数据库进行数据交换。

    MySQL安装及配置详细教程-mysql -uroot -p命令

    ### MySQL安装及配置详细教程知识点概述 ...通过以上步骤,您可以顺利完成MySQL的安装与配置工作,并掌握基本的管理与使用方法。这不仅有助于您更好地利用MySQL的功能,还能提高数据库管理和应用开发的效率。

    MySQL 8.0.35安装与配置:Windows系统详细步骤.zip

    此外,还提供了MySQL配置文件my.ini。 适用人群: 适用于需要在Windows环境下搭建MySQL数据库环境的开发者、数据库管理员以及对数据库技术感兴趣的读者。无论是初学者还是有一定经验的用户,都可以通过本文快速掌握...

    mysql-test-5.7.22-linux-glibc2.12-x86_64.tar.gz

    bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.22/ --datadir=/usr/local/mysql/mysql-5.7.22/data --lc_messages_dir=/usr/local/mysql/mysql-5.7.22/share --lc_messages=en_US ...

Global site tag (gtag.js) - Google Analytics