二维码

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

2016 人阅读 | 时间:2018年12月03日 17:25

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 详细教程,供大家参考。

一 卸载MariaDB

CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载。 
1. 安装新版mysql之前,我们需要将系统自带的mysql-lib卸载

[root@localhost ~]# yum remove mysql-libs

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

注:详细卸载教程可自行百度,很简单。

二 到mysql的官网下载最新版mysql的rpm集合包

到官网下载安装包: 
https://www.mysql.com/ 

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

需要下载1个500M左右的安装包(安装包为最近更新,与教程不符合请自行下载对应RPM 安装包)

mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar

通过xshell的rz命令将mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar上传到Linux系统中。

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

 
注:我上传到的路径 根目录

解压到指定的文件夹

    tar -xvf mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar

    得到文件列表如下:

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

四 安装MySQL解压包

注:所有解压包,不一定需要全部安装、注意安装顺序 
以下是安装顺序 这几个包由依赖关系。执行有先后其中,client依赖于libs,server依赖于common和client.

因为mysql的依赖关系,依次按顺序解压
   #rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm 
    #rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm 
    #rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm 
    #rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm --force --nodeps

注: i-install安装;v-verbose进度条;h-hash哈希校验;安装过程中可能会出现 perl 环境等问题,按提示百度就行。

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程


五 数据库初始化

为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你的linux系统是以 root 身份运行 mysql 服务,需要执行下面的命令初始化

[root@bogon ~]#  mysqld --initialize --user=mysql

如果是以 mysql 身份登录运行,则可以去掉 –user 选项。

期间可能会出现如下错误:

①、error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方法:# yum install -y libaio

②、TIMESTAMP with implicit DEFAULT value is deprec

解决方法:在my.cof [mysqld]下添加 explicit_defaults_for_timestamp=true,再启动就可以了,my.cof是在etc/my.cof下。

③、initialize specified but the data directory has files in it. Aborting.

解决方法:rm -fr /var/lib/mysql 。

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

注: –initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码

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

获取mysql自动生成的随机密码:

命令:cat /var/log/mysqld.log |grep password

找到:

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程


输入命令:

mysql -uroot -p

Enter password: p&DmSeIk,9yh

然后进入了mysql

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

六 启动mysql数据库

注:systemctl是Centos7特有的启动方式

systemctl start mysqld.service

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

设置新密码:set password=password('123456');

exit退出。使用新密码登陆。

完成。


七 登录mysql数据库并创建Mysql新密码

登录mysql,然后输入日志中的随机密码。

mysql -u root -p;

设置你的密码。

set password = password('你的密码');

设置授权(远程访问)

grant all privileges on *.* to 'root' @'%' identified by'你的密码';

刷新权限

flush privileges;

CentOS 7.3.1611下 rpm方式安装MySQL 5.7.24 教程

八 其他问题。

如果在初始化时。指定了其他位置的存储,可以使用

mysqld --initialize --user=mysql --datadir=/data0/data/mysqldb

注:这样的指定会有其他问题:如 SELinux(CentOS 7 自带的安全软件) 操作权限监控告警而操作被阻止等。

九 SELinux安全操作(未测试,待定)

具体可以参考网上的一些资料去查询如何配置,这里仅作一些操作说明。

在安装或者配置过程中,如果修改启动连接端口(默认 3306 )、数据存储路径(默认 /var/lib/mysql )等会发现启动、重启或其他操作会被 SELinux 阻止。SELinux的告警提示中可以发现这些操作是不应该访问的操作类型,原因在于这些操作没有被配置为被允许运行的。

如果需要直接关闭这些告警即不阻止,可以这么做:

setenforce 0

一般情况下,更多的是配置规则,而不是直接关闭; 
如果有可视化界面的话,可以从 CentOS 的菜单中(应用程序 > 杂项 > SELinux 故障排除工具)查看。

在每个告警中有具体的告警问题,其中具体信息中有这么一些提示:

应该将这个情况作为 bug 报告。
可以生成本地策略模块以允许此访问。
Allow this access for now by executing:
# ausearch -c 'xxxxxx' --raw | audit2allow -M my-xxxxxx
# semodule -i my-xxxxxx.pp

文中提示这里的 bug 可以配置本地策略解除,运行这些操作就可以进行配置。

不同的配置有不同的方法:

semanage fcontext -a -t mysqld_db_t "/data0/data/mysqldb" 
restorecon -Rv "/data0/data/mysqldb"

以上可能不能解决 SELinux 的权限问题,还有很多需要在运行时才会提示的需要后期加入规则中,详细操作还需百度 SELinux 配置 MySQL。


©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×