最近因为公司的服务器需要做基线和漏洞扫描,基线方面问题不大,按照报告上的加固建议,选一些权重高的问题处理一下就好了。但是漏洞扫描就比较坑了,扫出来了十几个高危和一百六十多个中危漏洞,不过还好漏洞基本上都出在openSSH和mysql上,升级一下这两个的版本就好了。因为是云主机openSSH不敢乱动,所以我们先把mysql升级到最新版。centos并不能像window简单快捷的直接运行升级包,所以我们采取的方式是卸载重装。

卸载mysql

  首先把数据库里面的数据备份一下

$> mysqldump -u root -p --all-databases > backdb.sql

输入密码即可开始备份,完成后的备份文件会放在当前目录里,用 ll 命令即可看到

通过 whereis mysql 和 which mysql 来查找mysql文件夹,通过rm命令删除文件夹,删除 /etc/my.cnf配置文件

查看当前mysql: rpm -qa|grep mysql

没有显示任何内容可进行下一步,如果有输出的话通过  yum remove  后面跟上一行输出的mysql内容进行删除

删除完mysql后,可以准备开始重新安装了。

下载mysql

因为服务器是纯内网的,所以只能通过源码来进行安装。mysql下载:https://dev.mysql.com/downloads/mysql/

自行选择你需要下载的版本,因为之前安装的是5.7,所以为了保证数据不出现问题,这次仍然准备安装5.7。

最新的版本是5.7.27,其他的按图片上的选择,64位或32位则要看系统本身了可以通过 getconf LONG_BIT 命令查看。

安装mysql

下载完成后上传到服务器里的 /usr/local/ 目录下

解压: tar -zxvf (文件名)  然后通过 mv 命令将文件夹名修改为mysql

创建用户组和用户

用户组: groupadd mysql

用户: useradd -r -g mysql mysql

给mysql用户指定专有用户和用户组

进入mysql文件夹:cd /usr/local/mysql

创建data目录:mkdir data

指定用户和用户组

cd /usr/local/

chown -R mysql mysql/

chgrp -R mysql mysql/

初始化mysql

进入bin目录:cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

记住最后面的的临时密码,如果忘记密码或者想重新初始化,可以先将mysql/data目录中文件删除,然后再执行初始化命令。

配置my.cnf

vi /etc/my.cnf  没有的话会自动创建

输入如下内容:

[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/

启动mysql

cd /usr/local/mysql/bin
./mysqld_safe --user=mysql &

我实际上在走到这一步的时候出现了bug,输出显示linxu守护进程已经启动,但是 ps -ef|grep mysql 始终找不到mysql进程,这个时候如果你去百度的话,会得到各种各样的答案,可能对你并不适用,最好的方式是去看mysql的错误日志,一般存放在mysql目录下的data文件夹里后缀是.err。如果没有的话可以通过  find / -name 主机名.err 命令查找,主机名可以通过 hostnamectl  命令查看。通过报错来查找问题就会更有针对性,后来发现我配置文件里少打了两个字母,粗心害死人啊!!!

登陆mysql

cd /usr/local/mysql/bin

登录:./mysql -u root -p

登录上mysql之后,必须先修改密码才能进行其他操作

修改密码: set password=password("root");

登录授权:grant all privileges on *.* to'root' @'%' identified by 'root';

授权生效: flush privileges;

至此mysql的安装升级以及完成了,现在就是把之前备份的文件导回到mysql里面了

进入一个数据库: use mysql;

设置编码: set names utf8;

导入sql文件: source ....../backdb.sql;

Centos6安装mysql5.7最新版的更多相关文章

  1. Linux上centOs6+安装mysql5.7详细教程 - 前端小鱼塘

    https://coyhom.github.io/ 人类的本质是复读机,作为一个非linux专业人员学习linux最好的办法是重复 环境centos6.5 版本5.7 1: 检测系统是否自带安装mys ...

  2. vm12下Centos6安装mysql5.7

    一.下载mysql的rpm tar文件 文件名称:mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar官方地址:https://dev.mysql.com/get/Down ...

  3. centos6安装mysql5.7

    RPM包安装与卸载mysql 建议:装完mysql后立刻创建一个密码,不然下次登录的时候会有问题.原因是mysql 5.7会自动创建一个临时密码,过期失效,可以到grep "password ...

  4. CentOS6安装Mysql5.7.10亲测

    亲测验证适用于5.7.10 1. 获得二进制文件 wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-x8 ...

  5. Centos6安装MySQL5.7(yum方式)

    1. 下载并安装用来配置mysql的yum源的rpm包 # 下载 wget http://repo.mysql.com/mysql57-community-release-el6-10.noarch. ...

  6. centos6 安装mysql5.77(开发版)

    1. 配置yum源: [root@yyf ~]#rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm [ ...

  7. 在 centos6 安装 MySQL5.7 官方文档

    Adding the MySQL Yum Repository First, add the MySQL Yum repository to your system's repository list ...

  8. 在centos6.5中安装mysql5.7

    简介 博主最近在研究mysql的读写分离和主从复制,一台master和两台slave,三台机器在同一个局域网中,首先就就要在centos6.5中安装mysql5.7.好了,废话不多说,接下来进入正题. ...

  9. CentOS6.7源码安装MySQL5.6

    1.源码安装MySQL5.6 # CentOS6操作系统安装完成后,默认会在/etc目录下存在一个my.cnf, # 强制卸载了mysql-libs之后,my.cnf就会消失 rpm -qa | gr ...

随机推荐

  1. hibernate批量写入

    public int insertChanDaoTaskModel(List<T> t) { // TODO Auto-generated method stub Session sess ...

  2. Echarts 自定义数据视图

    toolbox : { show : true, feature : { dataView : { optionToContent : function(option) { // 行名称 var ax ...

  3. MFC程序执行过程剖析(转)

    一 MFC程序执行过程剖析 1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用 ...

  4. MinMax 容斥 学习笔记

    基本形式 \[ \max(S) = \sum_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}\min(T) \] 证明 不提供数学证明. 简要讲一下抽象 ...

  5. [BZOJ5073] [Lydsy1710月赛]小A的咒语 后缀数组+dp+贪心

    题目链接 首先这种题一看就是dp. 设\(dp[i][j]\)表示\(A\)序列中到\(i\)位之前,取了\(j\)段,在\(B\)中的最长的长度. 转移也比较简单 \[ dp[i][j] \to d ...

  6. c++ 递归思想 阶乘

    #include "stdio.h" #include "iostream" long fact(int n); int main() { int i; sca ...

  7. SDUT 1266 出栈序列统计(卡特兰数)

    这道题是回溯算法,网上一查是卡特兰数先占上代码,题解过两天会写. #include <bits/stdc++.h> using namespace std; int main() { // ...

  8. PHP基于PDO实现的SQLite操作类

    <?php // sqlite分页类 class SqliteDB{ public function __construct(){ // 初始化数据库,并且连接数据库 数据库配置 $this-& ...

  9. LOJ 2303 「NOI2017」蚯蚓排队——链表+哈希表

    题目:https://loj.ac/problem/2303 想到合并的时候可以只考虑接口附近的50个,但不太会分析复杂度,而且没有清楚地想到用哈希值对应个数. 看了题解才会…… 一直想用 splay ...

  10. BUUCTF | MD5

    题目:e00cf25ad42683b3df678c61f42c6bda flag{admin1} 算是一个资源收集吧,Orz,https://www.cmd5.com/