MySQL通用二进制文件在Unix / Linux上安装MySQL

来源:互联网 发布:电信移动网络如何连接 编辑:程序博客网 时间:2024/06/16 03:13
(一)官方网站下载软件
请访问http://dev.mysql.com/downloads/查看我们的下载页面, 了解有关当前版本的MySQL和下载说明的信息。有关MySQL下载镜像站点的完整列表,请参阅 http://dev.mysql.com/downloads/mirrors.html您还可以在这里找到有关成为MySQL镜像站点以及如何报告错误或过期镜像
的信息。

(二)验证MD5校验和

Linux示例:

shell> md5sum mysql-standard-5.7.20-linux-i686.tar.gzaaab65abbec64d5e907dcd41b8699945 mysql-standard-5.7.20-linux-i686.tar.gz
Oracle提供了一组MySQL的二进制发行版。这些包括用于多个平台的压缩tar文件(具有.tar.gz扩展名的文件 的形式的通用二进制分发,以及用于所选平台的平台特定包格式的二进制文件。
警告

如果您以前使用操作系统本机包管理系统安装了MySQL,例如yum 或者apt-get,您可能会遇到使用本机二进制进行安装的问题。确保您以前的MySQL安装已完全删除(使用您的软件包管理系统),并且还删除了任何其他文件(确定以前的MySQL数据文件和配置文件等等不需要才可以删除),如旧版本的数据文件。您也应该检查配置文件,如 /etc/my.cnf或 /etc/mysql目录,并删除它们。


重要
  • MySQL依赖于libaio 库。如果此库未在本地安装,则数据目录初始化和后续服务器启动步骤将失败。如有必要,请使用相应的软件包管理器进行安装。例如,基于Yum的系统:

    shell> yum search libaio # search for infoshell> yum install libaio # install library

在Unix上,要安装压缩的tar文件二进制文件,请在您选择的安装位置(通常为/usr/local/mysql解压缩这将创建下表中显示的目录。

(三)使用二进制安装MySQL

表2.3通用Unix / Linux二进制包的MySQL安装布局

目录目录内容binmysqld服务器,客户端和实用程序data日志文件,数据库docs信息格式的MySQL手册manUnix手册页include包含(标题)文件lib图书馆share其他支持文件,包括错误消息,示例配置文件,用于数据库安装的SQL

要安装和使用MySQL二进制分发,命令序列如下所示:

配置my.cnf文件:(按需要配置选项

[root@localhost mysql]# cat /etc/my.cnf | grep -v ^#
[client]
socket=/usr/local/mysql/mysql.sock
[mysqld]
server_id=10
port=3306
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
socket=/usr/local/mysql/mysql.sock
pid_file=/usr/local/mysql/mysql.pid
log_error=/usr/local/mysql/mysql_error.log
log_bin=/usr/local/mysql/data/mysql_bin
relay_log=/usr/local/mysql/data/relay_bin
[mysqld_safe]
log-error=/usr/local/mysql/mysql_safe.log
pid-file=/usr/local/mysql/mysql_safe.pid

shell> groupadd mysqlshell> useradd -r -g mysql -s /bin/false mysql #/bin/false选项来创建一个不具有对服务器主机的登录权限的用户shell> cd /usr/localshell> tar zxvf /path/to/mysql-VERSION-OS.tar.gzshell> ln -s full-path-to-mysql-VERSION-OS mysqlshell> cd mysqlshell> mkdir mysql-filesshell> chmod 750 mysql-filesshell> chown -R mysql .shell> chgrp -R mysql .shell> bin/mysql_install_db --user=mysql # MySQL 5.7.5 --user=mysql一定要用MySQL用户shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up#--initialize初始化数据库,--user=mysql要用MySQL用户shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up shell> chown -R root .shell> chown -R mysql data mysql-filesshell> bin/mysqld_safe --user=mysql &# Next command is optionalshell> cp support-files/mysql.server /etc/init.d/mysql.server

备注:记录下服务器的错误日志文件log-error初始MySQL的root的密码,可以使用它进行登录:

2017-07-01T07:36:31.297149Z 1 [Note] A temporary password is generated for root@localhost: q+/sih8U-Z*u


(四)检查MySQL

1:检查MySQL服务进程是否存在:mysqld_safe 和mysqld 

[root@localhost mysql]# ps -ef | grep mysql
root     13909 62313  0 15:37 pts/3    00:00:00 /bin/sh bin/mysqld_safe --user=mysql
mysql    14139 13909  0 15:37 pts/3    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/mysql_error.log --pid-file=/usr/local/mysql/mysql_safe.pid --socket=/usr/local/mysql/mysql.sock --port=3306

2:检查MySQL安装的基本目录和数据目录以及各种文件是否都是MySQL的属组和属于者mysql:mysql

3:检查服务器的运行错误日志文件log-error中是否有错误

如果有错误error,请解决。

4:检查不需要的配置参数

确保服务器未配置为忽略网络连接,或(如果您尝试远程连接),则该服务器尚未配置为仅在其网络接口上本地侦听。如果服务器启动--skip-networking,它将不会接受TCP / IP连接。如果启动了服务器 --bind-address=127.0.0.1,它将只在本地监听环回接口上的TCP / IP连接,并且不接受远程连接。如果服务器使用该--skip-grant-tables选项启动 ,则它不会读取授权表或实现任何访问​​控制。任何人都可以连接和做任何事情,这是不安全的。为了使服务器开始读取表并启用访问检查,请刷新权限。生产环境需要禁用这些选项:--skip-networking;--skip-grant-tables; --bind-address=127.0.0.1,--no-defaults表示禁用配置文件

5:检查其他参数

user=mysql,--initialize初始化数据库

密码长度要合适

端口,服务ID等等


(五) 更改MySQL的root账号密码

[r oot@localhost mysql]#cd  /usr/local/mysql/

登录到root账号

[root@localhost mysql]#bin/mysql  -h localhost -u root -p  或者bin/mysql  -u root -p

Enter password:  输入日志文件的初始密码

然后更改root账号的密码

mysql> set password=password("123456");
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> exit

然后再重新登录一次,使用新密码,如果登录成功,修改成功。


为了方便使用,我们该ln命令创建一个到安装目录的符号链接。这使您能够更容易地将其引用为/usr/local/mysql为避免在使用MySQL时始终键入客户端程序的路径名,您可以将该/usr/local/mysql/bin 目录添加PATH变量中:

shell> echo $PATHshell> export PATH=$PATH:/usr/local/mysql/bin

原创粉丝点击