阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

135次阅读
没有评论

共计 2501 个字符,预计需要花费 7 分钟才能阅读完成。

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

一 卸载 MariaDB

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

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

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

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

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

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

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

CentOS 7.3.1611 下 rpm 方式安装 MySQL 5.7.18 教程
注:我上传到的路径 /usr/local/tools

通过 mkdir 命令创建 mysql 目录,放入解压后的文件,为以后的安装做准备。

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

解压压缩包到 mysql 目录

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

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

四 安装 MySQL 解压包

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

rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm // <br> 
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm //<br>
rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm<br>
rpm -ivh mysql-community-client-5.7.18-1.el6.x87_64.rpm // 客户端安装包 <br>
rpm -ivh mysql-community-server-5.7.18-1.el6.x87_64.rpm // 服务端安装包 <br>
rpm -ivh mysql-community-devel-5.7.18-1.el7.x87_64.rpm // 包含开发用的库头文件安装包 <br>

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

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

五 数据库初始化

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

[root@localhost mysql]# mysqld --initialize --user=mysql

如果是以 mysql 身份登录运行,则可以去掉 –user 选项。
注:–initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码
这里演示使用的 –initialize 初始化的,会生成一个 root 账户密码,密码在 log 文件里,红色区域的就是自动生成的密码

使用 cat /var/log/mysqld.log 命令打开日志文件

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

六 启动 mysql 数据库

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

systemctl start mysqld.service

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

七 登录 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.18 教程

八 其他问题。

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

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。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148523.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2501字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中