突然发现我的新服务器上没有mysql,所以想安装一个,上次在我的window电脑上安装MySQL8.0我真的要气死了,和5.7修改密码的方式不一样,弄了很久,所以我决定还是不用安装8.0了,5.7就可以了。安装MySQL有很多细节需要注意的,这应该就是为什么程序员经验那么重要的原因吧。

然后同样有两种方式安装,直接安装,或者放在docker里面安装,这里我为了省事就直接安装了。

进入正题:

首先我们需要去官网找下载地址,我就直接贴出来:http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

然后直接输入

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

然后就可以开始安装了:

yum -y install mysql57-community-release-el7-.noarch.rpm

这里就不放图片了,看到complete!就是成功了。

有了rpm之后,我们就可以直接安装MySQL了:

yum -y install mysql-community-server

安装完之后我们需要重启MySQL:

systemctl restart mysqld 

然后可以查看MySQL的端口号:

netstat -anplt

MySQL默认端口号是 3306 ,但是此时我们不知道MySQL的密码,我们需要去找到密码:

grep "password" /var/log/mysqld.log

找到之后就进入MySQL:

mysql -uroot -p

然后输入刚才的密码就进入MySQL了,但是不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库修改密码命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY '';

这里MySQL会提示你密码过于简单,无法修改,正常需要8位长度,混合大小写以及一位特殊符号。

重新修改完成之后,我们可以查看密码规则:

SHOW VARIABLES LIKE 'validate_password%';

然后再修改密码规则:

set global validate_password_policy=LOW;

设置密码长度:

SET GLOBAL validate_password_length=;

再次修改密码就行了。为了防止更新带了的问题,我们需要删除源自动更新,因为安装了Yum Repository,以后每次yum操作都会自动更新,因为当前数据库已安装完成,所以把这个卸载掉:

yum remove mysql57-community-release.noarch

然后初始化数据库:

mysql_secure_installation

这是我们需要输入密码,然后一直按回车就可以了。那么MySQL就安装好了,那此时我们发现并不能远程登陆。

所以首先我们需要防火墙开放3306的端口。

firewall-cmd --list-ports

然后查看到

确实没有开放3306这个端口,开放端口

firewall-cmd --permanent --zone=public --add-port=/tcp

重启防火墙,一定要重启才有效:

systemctl restart firewalld

如果是阿里云服务器的话,需要进入控制台将服务器防火墙的规则修改,开放3306这个端口就可以了。当一切都做好的时候,发现还是无法远程连接MySQL,这个时候需要进入MySQL授权远程登陆:先进入MySQL,然后

use mysql

然后将所有数据库的所有表(*.*)的所有权限(all privileges),授予通过任何ip(%)访问的root用户,密码为1234

mysql> grant all privileges on *.* to 'root'@'%' identified by '';

最后刷新就可以了

flush privileges;

然后退出MySQL,在重启MySQL就可以啦,就可以远程访问了。

本博文参考的博文:https://blog.51cto.com/13043516/2093766

以及https://www.cnblogs.com/rongfengliang/p/5727088.html,谢谢两位作者!

centos7 安装mysql5.7以及一些细节问题的更多相关文章

  1. Centos7 安装 MySQL5.7

    Centos7 安装 MySQL5.7 一.环境介绍 1.安装包版本介绍 MySQL 有三种安装方式:RPM安装.二进制包安装.源码包安装.我们这篇文章以二进制方式安装MySQL 软件名称 版本 系统 ...

  2. centos7安装mysql5.7.19及配置远程连接

    centos7安装mysql5.7.19及配置远程连接------https://blog.csdn.net/Lh19931122/article/details/77996213

  3. Linux学习第三步(Centos7安装mysql5.7数据库)

    版本:mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 前言:在linux下安装mysql不如windows下面那么简单,但是也不是很难.本文向大家讲解了如何在Cent ...

  4. Centos7安装mysql-5.7.19

    Centos7安装Mysql 一 mysql下载 地址: https://dev.mysql.com/downloads/mysql/#downloads 二 在centos7上创建安装文件存放.解压 ...

  5. Centos7安装Mysql5.7方法总结 - 实操手册

    Centos7.x版本下针对Mysql的安装和使用多少跟之前的Centos6之前版本有所不同的,废话就不多赘述了,下面介绍下在centos7.x环境里安装mysql5.7的几种方法:一.yum方式安装 ...

  6. centos7安装mysql5.7修改设置密码策略

    centos7操作系统在安装mysql5.7社区版之后会有默认密码,通过grep命令在mysqld.log文件中即可找到,如下所示: 标识位置即在初始化安装时mysql的默认密码,然后通过mysql ...

  7. centos7安装MySQL5.7无法设置密码问题

    前言 在使用centos7系统yum方式安装MySQL5.7后 不知道默认密码是多少  知道后没办法修改? 一.找到MySQL密码 service mysqld start vim /var/log/ ...

  8. centos7 安装 mysql5.7 版本(全)

    centos 安装 版本说明 :centos7,mysql5.7 ,不是 centos7 可能有些命令不兼容 安装 mysql-server # 下载并安装 mysql yum wget -i -c ...

  9. centos7安装mysql5.7(rpm安装版)

    1.下载mysql5.7的rpm安装包 rpm的mysql包,安装起来简单,解压版的mysql还需要做许多配置,稍有不慎就会出错!!! 下载地址:https://dev.mysql.com/downl ...

随机推荐

  1. C++ 多线程编程实例【2个线程模拟卖火车票的小程序】

    原文:http://blog.csdn.net/chen825919148/article/details/7904219 核心提示:从网上搜集来的非常基础的C++多线程实例,刚入门的可以看看,希望能 ...

  2. php foreach 报 “Cannot create references to elements of a temporary array expression”

    今天在项目中用php foreach数据库查询结果时,为了方便没有判断数据是否存在,直接用(array)强制转换数据时,刚开始网页始终打不开,就报502,一头懵,突然间php报“Cannot crea ...

  3. xshell5 可用注册码

    101210-450789-147200(可以激活Xshell5,而且可以升级) 亲测可用 只能用于xshell5

  4. 毕向东_Java基础视频教程第19天_IO流(18~19)

    第19天-18-IO流(流操作规律 - 1) 通过三个步骤来明确"流操作"的规律: 明确数据流的"源和目的" 源, 输入流: InputStream/Reade ...

  5. spring cloud config配置

    参考: http://www.ityouknow.com/springcloud/2017/05/22/springcloud-config-git.html http://www.ityouknow ...

  6. linux fack 文件系统修复命令

    [简介] fsck命令被用于检查并且试图修复文件系统中的错误.当文件系统发生错误四化,可用fsck指令尝试加以修复. [选项]必要参数 -a 非互交模式,自动修复 -c 检查是否存在有损坏的区块. - ...

  7. spider-抓取网页内容

    使用urllib2抓取网页内容: import urllib2 from HTMLParser import HTMLParser request = urllib2.Request('http:// ...

  8. exchange 普通用户可以创建通讯组

    运维发现,通讯组多了好多未知名称的,经查为普通用户通过owa新建的,怎么阻止用户新建通讯组呢. 在搭建exchange后,系统会自动创建一个“Default Role Assignment Polic ...

  9. December 06th 2016 Week 50th Tuesday

    Behind every beautiful thing, there is some kind of pain. 美丽背后,必有努力. No pains, no gains. But it seem ...

  10. January 10 2017 Week 2nd Tuesday

    Being entirely honest with oneself is a good exercise. 对自己完全坦诚是一种很棒的锻炼. It is difficult to know deep ...