修订号:v1.0.1mysql
2.2使用通用的二进制文件在unix/linux上安装MySQLlinux
Oracle提供了一组MySQL的二进制发行版。对于许多平台,它包括以tar压缩文件形式的通用二进制发行版(文件是.tar. gz的扩展格式),以及针对特殊平台的二进制包格式文件。sql
本章节涉及以tar压缩的二进制文件发行版来安装MySQL。对于其余特殊平台的包格式,请参阅其余特殊平台的章节。例如,对于Windows发行版,参阅章节2.3,“在Microsoft Windows上安装MySQL”。shell
要得到MySQL,参阅章节2.1.2,“如何得到MySQL”。数据库
MySQL的tar压缩二进制文件发行版的命名格式为mysql-VERSION-OS.tar.gz,版本号是一串数字(例如,5.7.21),对于你打算使用的发行版来讲,os表明操做系统的类型(例如pc-linux-i686或winx64)。服务器
警告ide
若是你以前用本机的包管理系统安装了MySQL,例如yum或apt-get,在使用本机二进制文件安装的时候你可能遇到问题。请确保你以前安装的MySQL已经完全地删除(使用你的包管理系统),以及任何其余的文件,例如你的旧版本的数据文件,也要删除。你还应该检查配置文件,例如/etc/my.cnf或/etc/mysql目录而且删除他们。布局
关于使用官方MySQL安装包替换第三方安装包的信息,参阅有关Apt指南或Yum指南。测试
重要事项spa
MySQL依赖于libaio库。若是不在本地安装该库,数据目录初始化和后续服务器启动步骤就会失败。必要时,请使用适当的包管理器安装它。例如,在基于yum安装的系统上:
shell> yumsearch libaio # search for info
shell> yuminstall libaio # install library
或者,在基于APT安装的系统上:
shell> apt-cachesearch libaio # search for info
shell> apt-getinstall libaio1 # install library
对于MySQL 5.7.19和更高版本:对非统一内存访问(NUMA)的支持已经添加到通用的Linux构建中,它目前依赖于libnuma库;若是这个库没有安装在你的系统上,使用你的系统的包管理器来搜索并安装它(参阅最后的项目关于一些示例命令)。
若是遇到问题须要提交一个错误文件,请使用章节1.7中的说明,“如何报告错误或问题”。
在Unix上安装tar压缩的二进制文件发行版时,请在你选择的安装位置解压(一般是/usr/local/mysql)。这将建立下面表中所示的目录。
表2.3通用Unix/Linux二进制包的MySQL安装布局
目录 |
目录的内容 |
bin |
mysqld服务,客户端和实用程序 |
data |
日志文件,数据 |
docs |
信息格式的MySQL手册 |
man |
unix手册页 |
include |
包括(头)文件 |
lib |
库 |
share |
各类支持文件,包括错误消息,示例配置文件,用于数据库安装的SQL |
mysqld二进制文件的调试版本能够用于mysqld-debug。要从源代码发行版中编译你本身的MySQL调试版本,使用适当的配置选项来启动调试支持。参阅章节2.9,“从源代码安装MySQL”。
要安装和使用MySQL二进制发行版,命令序列以下:
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chmod 750 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional下一个命令是可选的
shell> cp support-files/mysql.server /etc/init.d/mysql.server
注意事项
这个过程假设你拥有root(administrator)访问系统的权限。或者,你能够使用sudo(Linux)或pfexec(Solaris) 命令来前缀每一个命令。
注意事项
在MySQL 5.7.4以前,这个过程不会给MySQL账户分配密码。为此,请使用章节2.10.4中的说明,“保护初始MySQL账户”。
mysql-files目录提供了一个方便的位置,用于secure_file_priv系统变量值,限制对特定目录的导入/导出操做。参阅章节5.1.5,“服务器系统变量”。
在MySQL 5.7.5以前,mysql_install_db在基本安装目录中建立一个名为my.cnf的默认选项文件。这个文件是由包含在发行包中命名my-default.cnf的模版建立的。详细信息,参阅章节5.1.2“服务器配置默认值”。
注意事项
在MySQL 5.7.18的状况下,my-default.cnf再也不被分发包所包含或安装。
前面描述了二进制发行版的安装,更详细版本以下。
新建一个mysql用户和组
若是你的系统尚未一个用于运行mysqld的用户和组,那么你可能须要建立一个。下面的命令添加了mysql组和mysql用户。你可能想要调用其余的用户和组,而不是mysql。若是是这样,在下面的指令中用适当的名称替代。在不一样的Unix版本上,useradd和groupadd的语法可能略有不一样,或者它们可能有不一样的名称,例如adduser和addgroup。
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
注意事项
由于用户只须要全部权功能,而不须要登陆功能,useradd命令使用-r和-s /bin/false选项来建立一个没有到你服务器主机登陆权限的用户。若是你的useradd不支持这些选项,请忽略他们。
获取和拆包发行版
选择你想要拆包发行版的目录下,并将位置更改成这个目录。此处举例在/usr/local下面拆包发行版。这个指令假定你有权限在/usr/local中建立文件和目录。若是该目录受到保护,你必须以root用户来执行安装。
shell> cd /usr/local
在章节2.1.2,“如何得到MySQL”里,使用这个指令得到一个发行版文件。对于给定的发行版,全部平台的二进制发行版都是由相同的MySQL源发行版构建的。
在新建的安装目录里拆包发行版。若是有z选项支持,tar可以解压和拆包发行版:
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
tar命令建立了一个名为mysql-VERSION-OS的目录。
要从压缩的tar文件二进制发行版中安装MySQL,你的系统必需要有GNU gunzip来解压分发版和一个合理的tar程序来拆包它。若是你的tar程序支持z选项,那么它既能够解压也能够拆包文件。
GNU tar的做用是众所周知。在MySQL发行版中,一些操做系统提供的标准tar没法拆包长文件名。你应该下载并安装GNU tar,或者若是有的话,请使用GNUtar的预安装版本。在GNU或自由软件目录中一般可用的是gnutar,gtar或tar,好比/usr/sfw/bin或/usr/local/bin。GNU tar能够从http://www.gnu.org/software/tar/得到。
若是你的tar不支持z选项,使用gunzip解压发行版和使用tar对他拆包。使用如下替代命令替换前面的tar命令,以解压并提取分布:
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
接下来,对tar建立的安装目录新建一个符号连接:
shell> ln -s full-path-to-mysql-VERSION-OS mysql
ln命令建立了到安装目录的符号连接。这使你能够更容易地以/usr/local/mysql来访问。当你在使用MySQL工做时,老是可以避免打印客户端程序的路径名,你能够添加/usr/local/mysql/bin目录到你的PATH变量里:
shell> export PATH=$PATH:/usr/local/mysql/bin
执行安装后的设置
安装程序的其他部分包括设置发行版的全部权和访问权限,初始化数据目录,启动MySQL服务器,和设置配置文件。相关说明,请参阅章节2.10,“安装后的设置和测试”。