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

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

我的系统环境是centos7,64位系统,所以在外链网址已屏蔽,可以选择Linux - Generic和Red Hat Enterprise Linux / Oracle Linux两个类别中的安装包。另外,还可以选择yum方式安装。下面逐一对安装时出现的各种状况进行说明。

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

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

外链网址已屏蔽

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

shell> chown -R mysql data mysql-files

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

shell>bin/mysqld_safe --user=mysql &

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

2.接着使用yum方式安装

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

外链网址已屏蔽

按照文档中所述,先下载并安装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了好半天,发现这篇文档

外链网址已屏蔽

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

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

然后重新启动mysql服务

# service mysqld start

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

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

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

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

外链网址已屏蔽

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

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

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

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

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

3.使用rpm文件安装mysql

首先在外链网址已屏蔽,选择Red Hat Enterprise Linux / Oracle Linux下载了519M的Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle5.7.10,文件名是mysql-5.7.10-1.el7.x86_64.rpm-bundle.tar

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

外链网址已屏蔽

(这篇是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版!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值