突然发现我的新服务器上没有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. The difference between a local variable and a member variable

    package com.itheima_04; /* * 成员变量和局部变量的区别: * A:在类中的位置不同 * 成员变量:类中,方法外 * 局部变量:方法中或者方法声明上(形式参数) * B:在内 ...

  2. Week2——XML

    一.什么是XML? XML是可扩展标记性语言,类似于HTML,被设计为传输和存储数据,其焦点是数据的内容.XML的标签没有被预定义,用户就需要自行定义标签,也可随意定义标签.XML 允许创作者定义自己 ...

  3. 移动端tap事件的封装

    /*封装tap*/ cc.tap = function(dom,callback){ /* * 要求 没有触发 touchmove 事件 * 并且响应速度要比click快 */ if(dom & ...

  4. 微信小程序开发常见之坑

    https://www.cnblogs.com/shunxing/articles/6971648.html input里的value会在浮层上面的,要解决这一问题还是很简单的,在小程序中input有 ...

  5. C#耗时计算

    System.Diagnostics.Stopwatch watch = new Stopwatch(); watch.Start(); //init();计算耗时的方法 watch.Stop(); ...

  6. 动态展开tableView的cell[1]

    动态展开tableView的cell[1] 源码地址:https://github.com/xerxes235/HVTableView 虽然作者写的demo很好看,可是,你很难理解他是怎么玩的-_-! ...

  7. Python 变量和数据类型

    变量的定义与赋值 Python 是动态语言,我们不需要为变量指定数据类型,只需要输入变量名和值就行了.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 此外 Python 允许你同时为多个变 ...

  8. 查看linux上面是否有安装redis,redis启动

    1.检测是否有安装redis-cli和redis-server; [root@localhost bin]# whereis redis-cli redis-cli: /usr/bin/redis-c ...

  9. CATransition:视图替换动画:子视图的增删查改

    CATransition通常用于通过CALayer控制UIView内子控件的过渡动画,比如删除子控件,添加子控件,切换两个子控件等. 用于子视图的增删查改:

  10. Java集合源码 -- Collection框架概述

    1.概述 collection框架是用于处理各种数据结构的,要根据各种数据结构的特点理解它 它能够保存对象,并提供很多的操作去管理对象,当你面临下面的情况时,也许你应该考虑用集合类 1.容器的长度是不 ...