文档章节

安装最新Mysql community server 5.7.10社区版的坑爹经历

gaolu
 gaolu
发布于 2015/12/08 23:30
字数 1343
阅读 643
收藏 3

北京时间昨晚(2015-12-07)22点左右,mysql开发团队发布了最新的5.7.10版本,正好我这里也需要安装mysql,于是开始动作。

我的系统环境是centos7,64位系统,所以在http://dev.mysql.com/downloads/mysql/下载页面,可以选择Linux - Generic和Red Hat Enterprise Linux / Oracle Linux两个类别中的安装包。另外,还可以选择yum方式安装。下面逐一对安装时出现的各种状况进行说明。

1.首先来看选择Linux - Generic下载Linux Using Generic Binaries的tar.gz文件进行安装的情况。

官方安装说明文档的url如下:

http://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

在文档中部列出了大段shell命令来演示如何安装mysql,我按照文档中的描述,一直执行到

shell> chown -R mysql data mysql-files

这一步都没出现什么错误,满以为安装成功了,然而执行下面这句

shell>bin/mysqld_safe --user=mysql &

却显示mysql启动错误!错误log没有记录下来,搞了半天也不知道错误在哪里,没办法,只好放弃这种安装。

2.接着使用yum方式安装

这是相对来说最简单的安装方式了,官方安装说明文档的url如下:

http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

按照文档中所述,先下载并安装mysql最新的镜像源,然后执行

# yum install mysql-community-server

非常顺利的完成了安装,因为有了上次的经历,心里很担心服务启动不了,接着执行

# service mysqld start

果然出问题了,mysqld启动错误,出现下面的提示:

Redirecting to /bin/systemctl start  mysqld.service
Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.
# service mysqld status
Redirecting to /bin/systemctl status  mysqld.service
mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
   Active: failed (Result: start-limit) since Tue 2015-12-08 13:57:22 CST; 17s ago
  Process: 31004 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 30988 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Dec 08 13:57:22 iZ25lox0jlhZ systemd[1]: Failed to start MySQL Server.
Dec 08 13:57:22 iZ25lox0jlhZ systemd[1]: Unit mysqld.service entered failed state.
Dec 08 13:57:22 iZ25lox0jlhZ systemd[1]: mysqld.service holdoff time over, scheduling restart.
Dec 08 13:57:22 iZ25lox0jlhZ systemd[1]: Stopping MySQL Server...
Dec 08 13:57:22 iZ25lox0jlhZ systemd[1]: Starting MySQL Server...
Dec 08 13:57:22 iZ25lox0jlhZ systemd[1]: mysqld.service start request repeated too quickly, refusing to start.
Dec 08 13:57:22 iZ25lox0jlhZ systemd[1]: Failed to start MySQL Server.
Dec 08 13:57:22 iZ25lox0jlhZ systemd[1]: Unit mysqld.service entered failed state.

google了好半天,发现这篇文档

http://stackoverflow.com/questions/31813552/linux-antergos-install-mysql

安装完应该先检查一下/var/lib/mysql目录下的文件权限,执行

# chown mysql:mysql -R /var/lib/mysql

然后重新启动mysql服务

# service mysqld start

这次果然成功启动mysql服务了!高兴之余,继续按安装文档的说明,执行

# grep 'temporary password' /var/log/mysqld.log

执行这条命令居然什么都没显示,没有查找到初始临时密码!

这是肿么回事?只有继续google,找到下面这篇文档

http://mirror.metrocast.net/mysql/doc/refman/5.1/zh/problems.html#resetting-permissions

文中提到如何复位根用户密码,于是按照文档说明开始执行,然而,执行到这句

shell> mysqld_safe --init-file=~/mysql-init &

才发现yum安装的mysql 5.7.10社区版居然没有mysqld_safe这个文件!

为什么我使用yum方式安装mysql,没有生成临时密码,恳请读了此文的数据库大牛给释疑一下。

顿时感觉陷入了困境,一筹莫展,万般无奈之下,只好用最后的办法试一下。

3.使用rpm文件安装mysql

首先在http://dev.mysql.com/downloads/mysql/,选择Red Hat Enterprise Linux / Oracle Linux下载了519M的Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle 5.7.10,文件名是mysql-5.7.10-1.el7.x86_64.rpm-bundle.tar

解压之,出现了12个rpm文件,然后参考下面的url:

http://www.cnblogs.com/5201351/p/4912614.html

(这篇是5.7.9的说明文档,我安装的是5.7.10版,最后的小版本号不一致)

文中说明,只需要安装如下4个软件包即可,我们可以使用rpm -ivh命令进行安装

     mysql-community-common-5.7.9-1.el7.x86_64.rpm
     mysql-community-libs-5.7.9-1.el7.x86_64.rpm             --(依赖于common)
     mysql-community-client-5.7.9-1.el7.x86_64.rpm          --(依赖于libs)
     mysql-community-server-5.7.9-1.el7.x86_64.rpm         --(依赖于client、common)

初始化数据库,我们使用如下几条命令均可,效果都是一样的

[root@5201351 ~]# mysql_install_db --datadir=/var/lib/mysql   //必须指定datadir,执行后会生成~/.mysql_secret密码文件
[root@5201351 ~]# mysqld --initialize                         //新版的推荐此方法,执行后会在/var/log/mysqld.log生成随机密码

注意,按文档的意思,似乎是上面两条命令执行一条就可以了。我在执行第二条命令的时候,出现了error错误,遂没管这个错误,直接进入下一步。

datadir=/var/lib/mysql是数据库文件的放置路径。


更改mysql数据库目录的所属用户及其所属组,然后启动mysql数据库

[root@5201351 ~]# chown mysql:mysql /var/lib/mysql -R
[root@5201351 ~]# systemctl start mysqld.service            //启动mysql数据库服务

mysql这时候顺利的启动起来了!又是一阵狂喜,赶紧到/root目录下寻找.mysql_secret文件。迫不及待的打开,看到了一个生成的临时密码。执行

# mysql -uroot -p

输入密码,成功登录mysql!

至此,在尝试了3种安装方法后,最终使用rpm文件成功安装了最新mysql community server 5.7.10版!

© 著作权归作者所有

gaolu
粉丝 29
博文 58
码字总数 52768
作品 0
朝阳
架构师
私信 提问
centos7.1安装mysql6.5

安装方法: 众所周知,Linux系统自带的repo是不会自动更新每个软件的最新版本(基本都是比较靠后的稳定版), 所以无法通过yum方式安装MySQL的高级版本。所以我们需要先安装带有当前可用的m...

断情伤泪
2017/07/13
0
0
centos升级mysql至5.7

CentOS 6.5/6.6 安装mysql 5.7 最完整版教程 defcon 2015年08月04日 发布 推荐 0 推荐 收藏 3 收藏,2.8k 浏览 Step1: 检测系统是否自带安装mysql #yum list installed | grep mysql Step2:...

IT_小翼
2016/01/27
260
0
MySQL各个版本的区别

MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个下载界面会有几个版本的选择。 1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。 2. MySQL Enterpris...

hisense20112784
2017/06/08
0
0
yum安装最新的mysql

通常在使用Yum安装MySQL时,centos6默认安装的是伴随OS发布的旧MySQL版本,centos7安装的MariaDB。之前要安装最新的MySQL版本,你必须去Oracle的MySQL主页,下载最新的发布版本,然后编译安装...

hiwill
2015/09/09
459
0
跟王老师学MySQL:安装MySQL

跟王老师学MySQL:安装MySQL 主讲教师:王少华 QQ群号:483773664 学习目标 下载和安装MySQL 一、下载MySQL (一)下载地址: http://dev.mysql.com/downloads/ (二)、Mysql 各个版本区别:...

imentors
2016/06/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊中国的通信行业:从“七国八制”到“中华”脊梁

本期文章和大家一起来聊一聊我曾经从事过的通信行业吧。最近各方面信息的泛滥,包括和华为的同学聊天,自己确实也感慨颇多。想想我自己本科主修通信工程,研究生再修信息与通信工程,从本科开...

CodeSheep
55分钟前
4
0
MDK:ARM M451M:exceed the range of code meory, continue to erase or not?

问题: 代码空间超限 几天前就遇到:exceed the range of code meory, continue to erase or not? 如下所示: 解决过程 开始以为中MDK软件的128KB限制,如是就不能生成HEX文件,应该链接时有提...

SamXIAO
今天
1
1
OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
322
7
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
8
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部