Mysql入门系列:在UNIX上安装MySQL

2016-02-19 15:10 0 1 收藏

下面图老师小编跟大家分享一个简单易学的Mysql入门系列:在UNIX上安装MySQL教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - 编程语言 】

  可得到几种版本的MySQL分发包。当前稳定的发行版有3.22 版本系列。当前正在开发的版本为3.23 系列。一般,应该使用系列中最高编号的版本。

  MySQL分发包可以以二进制代码、RPM 和源代码的格式得到。二进制代码和RPM 分发包容易安装,但必须接受建立在分发包内的安装设计和缺省配置。源代码分发包安装很困难,因为必须对软件进行编译,但可对参数进行更多的控制。例如,可以只编译客户机程序的分

  发包,而不用管服务器,可以更改安装软件的目标位置等。

  分发包含有下列一个或多个组件:

  mysqld 服务器

  客户机程序(mysql、mysqladmin 等)以及客户机编程支持环境(库和头文件)

  文档

  标准数据库

  语言支持环境

  源程序和二进制代码分发包含有上述所有内容。每个RPM 文件只包含其中一些内容,因此为了得到所需的东西,可能需要安装多个R P M。

  如果打算连接到其他机器上运行的服务器,则不需要安装服务器,但应该安装客户机软件:

  如果不运行服务器,那么只需要客户机,以便能够连接到其他机器的服务器上。

  如果您确实运行一个服务器,将希望能够从该服务器的主机对此服务器进行连接,而不是在其他具有客户机软件的机器上登录,然后再来测试您的服务器。

  MySQL安装综述

  在UNIX 上安装MySQL涉及下列步骤:

  1) 创建一个用户的UNIX 账号和服务器将操纵的组(如果正在安装服务器)。

  2) 获得和打开想安装的分发包。如果使用的是源代码分发包,编译并安装它。

  3) 运行mysql_install_db 脚本来初始化数据目录和权限表(仅允许第一次安装)。

  4) 启动服务器。

  5) 参阅第11章,熟悉一般的管理过程。特别应该阅读服务器设置和关闭以及作为无特权用户运行服务器的段落。

  创建MySQL用户账号

  如果只需要运行MySQL客户机软件,而不打算运行MySQL服务器,可以跳过这一节。

  MySQL服务器可作为系统上的任何UNIX 用户运行,但出于安全和保密的原因,最好是不以root 身份运行服务器。建议创建一个独立的账号用于MySQL管理,并以该用户运行服务器。这样,可作为该用户登录,并在进行维护和故障排除的目录中具有完全的权限。创建

  用户账号的过程随系统的不同而不同。详细内容可参阅相应的文献。

  本书将mysqla d m和mysqlg r p分别用于UNIX 用户和此账号的组名。如果打算安装MySQL只为自己使用,可以自己运行它,那么在本书中任何地方出现的mysqladm 和mysqlg r p都可换成您自己的登录名和组名。如果从RPM 文件进行安装,随RPM 的安装过程会自动建立一个名为mysql的用户。在这样的情况下,可以将mysql替换成mysqla d m。

  使用独立、无特权帐户而不是运行MySQL的r o o t,其优点为:

  如果不以root 运行MySQL,任何人都不能利用此服务器的安全漏洞获得root 访问。

  无特权的用户执行MySQL管理任务比用root 执行更为安全。

  服务器将创建mysqladm 而非root 拥有的文件。r o o t在系统上拥有的文件越少越好。

  将MySQL的活动分隔在它自己的账号中可以在概念上更为清晰,并且更容易看出系统上什么东西与MySQL相关。例如,在保存core 文件的目录中,有MySQL用户mysqladm 的一个独立文件。否则MySQL的corn 作业将位于root 的文件中,将会和其他东西一起作为root 周期性的执行。

  获得和安装MySQL分发包

  在下面的说明中,我们用版本代表MySQL的版本号,用平台代表在其上进行安装的平台名。它们也用在分发包文件名中,以便容易标识分发包,并将各个分发包区分开来。版本号是一些类似于3.22.26 或3.23.4-alpha 这样的东西,平台名是类似于sgi-irix6.3-mips 或d e c -osf4-0b-alpha 这样的东西。

  1. 安装二进制代码分发包

  二进制代码分发包文件具有诸如m s q l -ver s i o n - p l a t f o r m. t a r.gz 这样的名字。获得理想版本和平台的分发包文件并将它放入指定的安装MySQL目录,如/ us r / l o c a l。

  用下面的任意一条命令打开分发包(如果tar 版本不支持非压缩分发包的z 选项,应该使用第二条命令):

  % tar zxf mysql-version-platform.tar.gz

  % gunzip mysql-version-platfrom.tar.gz | tar xf

  打开分发包创建包含分发包内容的目录mysql-ver s i o n - p l a t f o r m。为了更容易引用这个目录,可创建一个符号连接:

  % ln -s mysql-version-platorm mysql  现在,如果在/usr/local 目录下安装MySQL,可引用的安装目录为/ us r / l o c a l / mysql。

  如果只准备使用分发包所提供的客户机支持环境并且不运行服务器,则安装结束。如果是第一次安装MySQL,可参阅A . 3 . 4节初始化数据目录和权限表。如果是对已有安装进行更新,可参阅A . 3 . 5节启动服务器。

  2. 安装RPM 分发包

  RPM 文件可用于Linux 系统上的MySQL安装。它们具有如下的文件名:

  MySQL-ver s i o n - p l a t f o r m.rpm 服务器软件。

  MySQL- c l i e n t. ver s i o n - p l a t f o r m.rpm 客户机程序。

  MySQL- d e v e l .ver s i o n - p l a t f o r m.rpm 编写客户机程序的开发支持环境(客户机库和头文件)。如果想使用或编写访问MySQL数据库的Perl DBI 脚本,则需要用到它。

  MySQL- b e n c h. ver s i o n - p l a t f o r m.rpm 标准和测试。需要Perl 和Msql-Mysql-modules 模块。可在w w w.mysql.com 上得到Mysql-Mysql-modules 的一个RPM 文件。

  MySQL-ver s i o n .src.rpm 服务器、客户机、标准和测试的源代码。

  如果从RPM 安装,不需要特定的目录,因为RPM 文件含有指定将所包含的文件安装在何处的信息。对任何RPM 文件r p m _ f i l e,可用下列命令知道其内容将安装在何处:

  % rpm -qpl rpm_file

  为了安装一个RPM 文件,使用下列命令:

  % rpm -i rpm_file

  MySQL的各组成部分被划分为不同的RPM 文件,因此可能需要安装不止一个R P M。为了安装客户机支持环境,可使用下列命令:

  % rpm -i MySQL-client-version-platform.rpm

  安装服务器支持环境,使用下列命令:

  % rpm -i MySQL-version-platform.rpm

  如果打算使用客户机编程支持环境编写自己的程序,应该安装供开发用的RPM 文件:

  % rpm -i MySQL-devel-version-platform.rpm

  如果打算使用分发包提供的客户机支持环境,而且不准备使用服务器, MySQL的安装就结束了。如果是第一次安装MySQL,可参阅A . 3 . 4节初始化数据目录和权限表。如果是对现有安装进行更新,可参阅A . 3 . 5节启动服务器。

  如果想从源代码RPM 文件进行安装,用下面的命令就可以了:

  % rpm --recompile MySQL-version.src.rpm

  3. 安装源代码分发包

  源代码分发包具有如mysql- ver s i o n . t a r.gz 这样的名称,其中version 为MySQL的版本号。选择想要将分发包放在其下的目录,并进入该目录。获得分发包文件并用下列命令之一打开它(如果tar 版本不支持非压缩分发包的z 选项,应该使用第二条命令):

  % tar zxf mysql-version.tar.gz

  % gunzip mysql-version.tar.gz | tar xf

  打开分发包创建包含分发包内容的目录mysql- ver s i o n,并进入此目录。

  % cd mysql-version

  在安装以前,需要配置和编译此分发包。如果各步骤失败,应该参阅MySQL参考指南的安装MySQL一章,应该特别注意它所包含的有关各种机器专有的系统说明。

  使用configure 命令配置分发包:

  % ./configure

  可以为configure 指定选项。为了得到可用的选项表,执行下列命令:

  % ./configure --help

  下面的清单给出了一些许多人认为很有用的配置选项:

  --without-server 只建立客户机支持环境的配置(客户机程序或客户机库)。如果打算访问运行在其他机器上的服务器,应该选择此选项。

  --prefix = p a t h _ name 缺省时,安装根目录为/ us r / l o c a l。数据目录、客户机、服务器、客户机库以及头文件安装在根目录下的v a r、b i n、l i b e x e c、lib 和include 目录中。如果想要更改安装的根目录,使用--prefix 选项即可。

  --localstatedir = p a t h _ name 这个选项更改数据目录的位置。如果不希望将数据库保存在/usr/local/var 之下,可使用这个选项。

  --with-low-memory sql/sql_yacc.cc 源代码文件需要大量编译内存,这有时会导致安装失败。这个问题的表现包括有关 fatal signal 11或虚内存耗尽错误消息。- - w i t h - l o w - memory 选项用产生低内存消耗的选项来调用编译程序。

  在执行了configure 后,编译分发包并安装它:

  % make

  % make install

  如果未利用--prefix 选项指定具有写入许可的目录,需要以root 身份执行安装命令。

  如果只准备使用分发包所提供的客户机支持环境且不运行服务器,则MySQL的安装结束。如果是第一次安装MySQL,可参阅A . 3 . 4节。如果是对已有安装进行更新,可参阅A . 3 . 5 节启动服务器。

  初始化数据目录和权限表

  在能够利用MySQL安装之前,需要初始化含有控制网络对服务器进行访问的权限表的mysql数据库。这个步骤只在新安装以及打算运行服务器时需要。那些只进行客户机支持环境安装的人员可以跳过这一节。对于二进制代码分发包,从安装目录(由分发包创建的b i n

  目录的父级目录)执行命令。对于源代码分发包,从分发包的高层目录执行命令。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  DATA D I R 是数据目录的路径名。一般情况下,作为root 执行下列命令。如果作为mysqladm 登录,或者由于打算自己运行MySQL而在自己的账号下安装它,则可不以r o o t的身份执行命令,而且可以跳过chown 和chmod 命令。

  如下运行mysql_install_db 脚本设置缺省权限表(如果利用RMP 文件进行安装,则不需要这样做,因为mysql_install_db 将会自动运行):

  # scripts/mysql_install_db

  如果mysql_install_db 失败,应该参阅MySQL参考指南的安装MySQL一章,看看该章对于所遇到的问题是怎么说的,然后再试一次。注意,如果mysql_install_db 未成功完成,它所建立的任意权限表可能都是不完整的。应该删除它们,因为mysql_install_db 不会试图重建已经存在的表。可用如下语句删除整个mysql数据库。

  # rm -rf DATADIR/mysql  在运行mysql_install_db 之后,如果所安装的是MySQL3.22.10 以前的版本,应该关闭服务器(对于更新的版本, mysql_install_db 会自动完成这项工作):

  # bin/mysqladmin --user=root shutdown

  在服务器关闭后,更改用户和组的拥有者该数据目录下的所有文件模式:

  # chown -R mysqladm.mysqlgrp DATADIR

  # chmod -R go-rwx DATADIR

  chown 命令更改MySQL用户的拥有者,而chmod 更改模式把除mysqladm 外的所有人员都排斥在外。

  启动服务器

  这个步骤只在要运行服务器时需要。那些只需要客户机的安装可以跳过这一步。应该在前一节给出的相同目录中执行本节的命令。一般作为root 用户运行命令。如果作为mysqla d m用户登录,或者在自己的账号下安装MySQL,那么可以不以r o o t身份运行命令,而且应该省略--user 选项。

  用下列命令启动服务器:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  # bin/safe_mysqld --user=mysqladm &

  --user 选项告诉服务器作为mysqladm 运行。如果想启用日志,使用下列命令:

  # bin/safe_mysqld--user=mysqladm --log &

  缺省的安装允许MySQLroot 用户不用口令进行连接。设口令是个好主意。还应该在系统启动和关闭时,安排服务器启动和关闭。此外,推荐使用更新日志,因为这对数据恢复过程是很有用的。对于完成这些活动的说明,请参阅第11章。

  安装Perl DBI 支持环境

  如果想要编写访问MySQL数据库的Perl 脚本,应该安装DBI 软件。DBI 要求已经安装过MySQL客户机编程支持环境,因为它要使用MySQLC 客户机库。如果希望编写基于Web 的DBI 脚本,还可以安装CGL.pm 模块。DBI 软件需要Perl 的相当新的版本(5.004 或更新)。如果没有安装Perl,请访问http://www. per l . c o m /,下载Perl 分发包,并在安装DBI 支持环境前安装它。

  DBI 支持环境需要三个模块,可从源代码或RPM 文件对它进行安装:

  D a t a - D um per 方便地处理Perl 数据结构的模块。

  DBI 主DBI 驱动。

  Msql-Mysql-modules 连接到MySQL服务器时,DBI 使用的MySQL专用驱动。

  如果从源代码进行安装,应该按前面清单中给出的次序安装这个模块。否则,下面安装说明中的测试步骤将会不正常。

  所有三个模块的安装都是类似的。在从源代码进行安装时,利用下面的某个命令打开分发包(如果tar 版本不支持非压缩分发包的z 选项,应该使用第二条命令):

  % tar zxf dist_file.tar.gz

  % gunzip dist_file.tar.gz | tar xf

来源:https://www.tulaoshi.com/n/20160219/1609085.html

延伸阅读
3.6 检索记录 除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处。这就是SELECT 语句的用途,即帮助取出数据。SELECT 大概是SQL 语言中最常用的语句,而且怎样使用它也最为讲究;用它来选择记录可能相当复杂,可能会涉及许多表中列之间的比较。SELECT 语句的语法如下: 除了词 S E L E C T和说明希...
关系数据库的世界是一个表与集合、表与集合上的运算占统治地位的世界。数据库是一个表的集合,而表又是行和列的集合。在发布一条SELECT 查询从表中进行检索行时,得到另一个行和列的集合。这些都是一些抽象的概念,对于数据库系统用来操纵表中数据的基本 表示没有多少参考价值。另一个抽象概念是,表上的运算都同时进行;查询是一种概...
4.2 MySQL查询优化程序 在发布一个选择行的查询时, MySQL进行分析,看是否能够对它进行优化,使它执行更快。本节中,我们将研究查询优化程序怎样工作。更详细的信息,可参阅MySQL参考指南中的Getting Maximum Performance from MySQL,该章描述了MySQL采用的各种优化措 施。该章中的信息会不断变化,因为MySQL的开发者不断对优...
MySQL管理员应该知道怎样通过指定哪些用户可连接到服务器、从哪里进行连接,以及在连接时做什么,来设置MySQL用户账号。MySQL3.22.11引入了两个更容易进行这项工作的语句:GRANT 语句创建MySQL用户并指定其权限,REVOKE 语句删除权限。这两个语 句充当mysql数据库中的授权表的前端,并提供直接操纵这些表内容的可选择的方法。GRANT 和...
3.7 加注释 MySQL允许在SQL 代码中使用注释。这对于说明存放在文件中的查询很有用处。可用两个方式编写注释。以 #号开头直到行尾的所有内容都认为是注释。另一种为C 风格的注释。即,以/ *开始,以* /结束的所有内容都认为是注释。C 风格的注释可跨多行,如: 自MySQL3.23 版以来,可在C 风格的注释中隐藏 MySQL特有的关...

经验教程

139

收藏

27
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部