在Linux下使用tar.gz包安装MySQL
必须执行以便安装并使用MySQL二进制分发版的基本命令是:
shell> groupadd mysql
shell> useradd -r -g mysql 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 770 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
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 &
# 补充下面命令
shell> cp support-files/mysql.server /etc/init.d/mysqld
shell>cp support-files/my-default.cnf /etc/my.cnf
下面为安装二进制分发版的更详细的描述:
1.为mysqld增加一个登录用户和组:
shell> groupadd mysql
shell> useradd -g mysql mysql
这些命令将增加MySQL组和MySQL用户。
2.挑选一个你想解开分发包的目录,进入该目录。在下面的例子中,我们将分发解包在“/usr/local”下(因此,下列说明假设你有权限在“/usr/local”中创建文件和目录,如果该目录被保护,你需要以root实施安装)。
shell> cd /usr/local
3.对于一个给定的版本,所有平台的二进制分发版均从相同的MySQL源码分发版构建。
4.解包分发版,将创建安装目录。然后生成到该目录的一个符号链接:
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf-
shell> ln -s full-path-to-mysql-VERSION-OS mysql
tar命令创建mysql-VERSION-OS目录。ln命令生成到该目录的一个符号链接。这让你更容易地把安装目录指定为/usr/local/mysql。
使用GNU tar,则不再需要gunzip。可以用下面的命令替换第一行来解包和提取分发版:
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
5.进入安装目录:
shell> cd mysql
与之前版本变化挺大的,你会在mysql目录下发现几个文件和子目录,对安装目的最重要的是“bin”和“scripts”子目录注意。
· bin这个目录包含客户端程序和服务器,你应该把这个目录的完整路径加到PATH环境变量,以便shell能正确的找到MySQL程序。
·scripts之前版本这个目录包含mysql_install_db脚本,用来初始化mysql数据库的 授权表,其中贮存了服务器访问允许。现在移到bin目录之下。
6.如果还没有安装MySQL,必须创建MySQL授权表:
shell> bin/mysqld--initialize --user=mysql
如果你用root运行命令,应当使用--user选项。选项的值应与你在第一步为运行服务器所创建的登录账户相同。如果你用该用户登录来运行命令,可以省略--user选项。使用--initialize-insecure 初始化时,root用户默认无密码。
7.shell> bin/mysql_ssl_rsa_setup
服务器在启动时会自动发现SSL/RSA相关文件
8.将程序二进制的所有权改为root,数据目录的所有权改为运行mysqld 的用户。如果位于安装目录(/usr/local/mysql)下,命令应为:
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
第一个命令将文件的所有属性改为root用户。第二个命令将数据目录的所有属性改为mysql用户。第三个命令将组属性改为mysql组。
9.如果在引导机器时自动启动MySQL,可以拷贝support-files/mysql.server文件到系统有启动文件的地方。
10.如果安装了DBI和DBD::mysqlPerl模块,可以使bin/mysql_setpermission脚本增加新账户。
11.如果你想使用mysqlaccess而在某个非标准的目录有MySQL分发版,你必须改变目录,使mysqlaccess找到mysql客户端。编辑“bin/mysqlaccess”脚本,大约在第18行,寻找类似下面的行:
$MYSQL ='/usr/local/bin/mysql'; # path to mysql executable
改变路径以反映出mysql实际存储在你系统上的地点。如果不这样做,当运行mysqlaccess时,你将遇到一个broken pipe的错误。
12.在所有东西被解包并且安装以后,你应该初始化并且测试你的分发版。可以用下列命令启动MySQL服务器:
shell> bin/mysqld_safe --user=mysql &
注释:初始化添加--initialize时,会给root@localhost用户生成一个临时密码,打印在错误日志中。MySQL授权表中的账户开始设置临时密码。启动服务器后,必须重置密码。