(二)验证MD5校验和
Linux示例:
shell> md5sum mysql-standard-5.7.20-linux-i686.tar.gz aaab65abbec64d5e907dcd41b8699945 mysql-standard-5.7.20-linux-i686.tar.gz
.tar.gz
扩展名的文件 )的形式的通用二进制分发,以及用于所选平台的平台特定包格式的二进制文件。如果您以前使用操作系统本机包管理系统安装了MySQL,例如yum
或者apt-get
,您可能会遇到使用本机二进制进行安装的问题。确保您以前的MySQL安装已完全删除(使用您的软件包管理系统),并且还删除了任何其他文件(确定以前的MySQL数据文件和配置文件等等不需要才可以删除),如旧版本的数据文件。您也应该检查配置文件,如 /etc/my.cnf
或 /etc/mysql
目录,并删除它们。
-
MySQL依赖于
libaio
库。如果此库未在本地安装,则数据目录初始化和后续服务器启动步骤将失败。如有必要,请使用相应的软件包管理器进行安装。例如,基于Yum的系统:shell> yum search libaio # search for info shell> yum install libaio # install library
在Unix上,要安装压缩的tar文件二进制文件,请在您选择的安装位置(通常为/usr/local/mysql
)解压缩。这将创建下表中显示的目录。
(三)使用二进制安装MySQL
表2.3通用Unix / Linux二进制包的MySQL安装布局
目录 | 目录内容 |
---|---|
bin | mysqld服务器,客户端和实用程序 |
data | 日志文件,数据库 |
docs | 信息格式的MySQL手册 |
man | Unix手册页 |
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 mysql shell> useradd -r -g mysql -s /bin/false mysql #
/bin/false
选项来创建一个不具有对服务器主机的登录权限的用户 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 --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-files shell> bin/mysqld_safe --user=mysql & # Next command is optional shell> 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 $PATH
shell> export PATH=$PATH:/usr/local/mysql/bin