CentOS7下安装mysql-5.7.18
来源:互联网 发布:淘宝cpm是什么意思 编辑:程序博客网 时间:2024/06/03 22:47
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 mariadbmariadb-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安装完毕。
- CentOS7下安装mysql-5.7.18
- CentOS7下安装mysql-5.7.18
- CentOS7下mysql安装
- CentOS7 下安装 mysql
- centos7 下安装mysql
- centos7下安装mysql
- Centos7下安装mysql
- centos7下安装mysql
- Centos7下安装mysql
- centos7下安装mysql
- CentOS7下安装MySQL
- centos7下安装mysql
- centos7下mysql安装
- centos7下安装mysql
- centos7下安装mysql
- Centos7下安装MySQL
- centOS7下安装MySQL
- centos7 下mysql 安装
- Spring中AOP初识
- 深度学习BP算法 BackPropagation以及详细例子解析
- Struts2学习
- TMCTF2017-Reverse
- 精简AsyncHttp
- CentOS7下安装mysql-5.7.18
- unclean.leader.election.enable引起的outOfRanger
- mysql重装bug
- fn函数标签
- 接口
- 极简主义生活方式
- 【PHP】Yii2中事务的使用以及代码实例
- 嵌入式软件开发是否需要经验,需要哪些基础知识?
- Java--多线程