CentOS7下安装mysql-5.7.18

原创 2017年06月24日 18:16:05

CentOS7下安装mysql-5.7.18

前言:楼主以前一直用的CentOs6.6,准备在这个环境上安装一个最新版本的mysql-5.7.18.

于是就开始下载mysql-5.7.18的rpm安装包,然后开始安装,最重要的不能解决的问题就是GLIBC的依赖没法解决掉,因为CentOS6.6版本的GLIBC版本是2.12

安装过程出现如下错误

[root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm 
warning: mysql-community-libs-5.7.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        libc.so.6(GLIBC_2.14)(64bit) is needed by mysql-community-libs-5.7.18-1.el7.x86_64
        mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.18-1.el7.x86_64

报错信息为缺少依赖的 libc.so.6(GLIBC_2.14)(64bit) ,

但是安装mysql-5.7.18需要的版本为最低2.14.网上找了很多资料,手工安装了GLIBC2.14

安装完成后, 建立软链指向glibc-2.14, 执行如下命令:

$ rm -rf /lib64/libc.so.6 // 先删除先前的libc.so.6软链
$ ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
注意
删除libc.so.6之后可能导致系统命令不可用的情况, 可使用如下方法解决:
$ LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so  ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6

另外, 执行$ ll /lib64/libc**可以看到此时的libc.so.6是libc-2.14.so的别名, 如下图所示:

[root@localhost lib]# ll /lib64/libc**
-rwxr-xr-x. 1 root root 1930416 Apr 11 15:49 /lib64/libc-2.12.so
lrwxrwxrwx. 1 root root      32 Jun 24 09:23 /lib64/libc.so.6 -> /opt/glibc-2.14/lib/libc-2.14.so

查看系统glibc库版本可使用如下命令:

[root@localhost mysql]# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14

如上所示已经有glibc2.14了。

但是最后没有成功。安装mysql依然报错

[root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm 
warning: mysql-community-libs-5.7.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        libc.so.6(GLIBC_2.14)(64bit) is needed by mysql-community-libs-5.7.18-1.el7.x86_64
        mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.18-1.el7.x86_64

最后没办法转战CentOS7系统了,因为CentOS7默认Glibc版本为2.17是可以满足安装mysql-5.7.18版本的依赖的。

所以写在前面,让还在使用CentOS6的小伙伴们,如果想要安装高版本的mysql,请放弃6,使用7吧。


CentOS7下安装步骤如下:

卸载MariaDB



CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。

记得一定要先卸载,不然会出现包冲突的问题。

1、安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载

[root@localhost mysql]# rpm -qa | grep -i mariadb
 mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost mysql]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

2、下载mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 安装包,下载地址为:https://dev.mysql.com/downloads/file/?id=469456

3、上传mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar到linux服务器,并解压tar包。

由于是.tar包,所以解压的时候要用-xvf,而不要使用-zxvf是解压.tar.gz的。

解压:[root@localhost mysql]#tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar  
mysql-community-server-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-client-5.7.18-1.el7.x86_64.rpm
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.18-1.el7.x86_64.rpm
mysql-community-test-5.7.18-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

4、使用rpm -ivh命令进行安装,安装的时候一定要注意先后顺序,因为有顺序依赖,必须按照顺序来安装。

[root@localhost mysql]# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
warning: mysql-community-common-5.7.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-common-5.7.18-1.e################################# [100%]
[root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
warning: mysql-community-libs-5.7.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-5.7.18-1.el7################################# [100%]
[root@localhost mysql]# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
warning: mysql-community-client-5.7.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-client-5.7.18-1.e################################# [100%]
[root@localhost mysql]# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-server-5.7.18-1.e################################# [100%]
[root@localhost mysql]# 

5、 数据库初始化

为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你的linux系统是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
[root@localhost mysql]# mysqld --initialize --user=vigoss  此处是你的linux登录用户名,我的是vigoss

这里演示使用的 --initialize 初始化的,会生成一个 root 账户密码,密码在log文件里,红色的就是自动生成的密码

[root@localhost mysql]# cat /var/log/mysqld.log
2017-06-24T16:47:12.709474Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-06-24T16:47:12.590590Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-06-24T16:47:12.000269Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-06-24T16:47:12.109868Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 960c533e-49fb-11e7-91f2-00163e089fd2.
2017-06-24T16:47:12.116186Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-06-24T16:47:12.116777Z 1 [Note] A temporary password is generated for root@localhost: :qqeftsut3wj

6、启动和停止数据库

使用 service 启动:service mysqld start
使用 service 启动:service mysqld stop

7、连接数据库,进行设置


[root@localhost mysql]#  mysql -u root -p 
Enter password:

修改密码:set password = password('你的密码');

创建对象并赋予权限

grant all privileges on *.* to 'dev' @'%' identified by '123456'; 
flush privileges;

8、修改my.cnf配置文件

vi /etc/my.cnf 

如果文件中有bind-address = 127.0.0.1而且前面没有#注释进行下面的步骤

注释掉#bind-address = 127.0.0.1,如果没有就不用修改。

然后重启mysql

使用 service 启动:service mysqld restart

9、设置mysql为开启启动

加入到系统服务:
chkconfig --add mysqld
自动启动:
chkconfig mysqld on

然后执行reboot  now,重启系统

然后执行ps -ef | grep mysql

[root@localhost etc]# ps -ef |grep mysql
root      1941     1  0 Jun23 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql     2040  1941  0 Jun23 ?        00:00:23 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root     11372 11055  0 10:03 pts/0    00:00:00 grep mysql

10、关闭防火墙

Centos7中防火墙变为了firewall,所以千万不要在使用iptable去关闭了。

1 查看防火墙状态
[root@localhost mysql]# firewall-cmd --state
running
2 果然是运行的,于是就想disabled防火墙服务
[root@localhost mysql]# systemctl mask firewalld
ln -s '/dev/null' '/etc/systemd/system/firewalld.service'

3 然后关闭防火墙
[root@localhost mysql]# systemctl stop firewalld
4 最后检查防火墙服务,发现已经关闭了
[root@localhost mysql]# firewall-cmd --state
not running

可以看见已经启动起来了。到此为止,mysql安装完毕。



相关文章推荐

rpm包安装过程中依赖问题“libc.so.6 is needed by XXX”解决方法

本文来自http://raksmart.idcspy.com/781   感谢原作者 如何解决源码包安装时的依赖性问题 自动解决依赖性故障 手工解决依赖性问题 Rpm软件包和共享库依赖性 ...

Linux中出现libc.so.6(GLIBC_2.14)(64bit) is needed by...的解决办法

原因是因为系统的glibc版本不符合安装要求,可以对glibc进行升级。 下载响应安装包:http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz。 解...

CentOS7下安装mysql-5.7.18

本文参考了: http://blog.csdn.net/peng314899581/article/details/70241976 http://www.cnblogs.com/pythonal/p...

关于mysql-community-server-5.7.13安装过程

由于分布式系统架构中含有mysql中间件,用以元数据的存储。搞了一个社区版的mysql,版本号5.7.13,GA版本(整体可用)。在家了的时候 dev.mysql.com 访问很流畅,下载 文件mys...

CentOS7.3 安装 MySQL5.7.18 RPM Bundle

本教程适用于CentOS7.3(1611)安装MySQL5.7.x版本,涉及卸载旧版本,安装配置新版,SELinux的简单说明。...

warning: mysql-community-libs-5.7.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5

1、错误描述[root@ mysql]# rpm -ivh mysql-community-libs-5.7.11-1.el7.x86_64.rpm warning: mysql-community-...

Linux环境安装mysql客户端报错Failed dependencies

安装rpm包 :mysql-community-client-5.7.13-1.el7.x86_64.rpm  报错如下: /home/mysql>sudo rpm -ivh mysql-commun...

MySQL5.7.19安装及主从复制构架配置

好长时间没更新blog了,主要因为今年单位做了部门调整。我的岗位从技术调整成为业务支撑,既要管技术又要管运营。而运营对我来说是个完全陌生的领域,牵扯了很多精力。好在经过小半年的适应逐渐找到了一些门道,...

MySQL5.7 安装 - Linux下RPM方式安装

目前MySQL5.7的最新版本是5.7.19, 下载 地址:https://dev.mysql.com/downloads/mysql/ 名称:mysql-5.7.19-1.el7.x86_64.rp...

centOS安装mysql---glibc方式

写在前面:   首先,centos是自己集成mysql的。但是我要用的服务器人家没给装。   其次,centos是可以yum安装mysql的,我很高兴而且轻松的用yum把mysql安装上了。但是,运行...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CentOS7下安装mysql-5.7.18
举报原因:
原因补充:

(最多只允许输入30个字)