热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7安装mysql5.7超详细图文教程

注意:下面的安装步骤是在服务器上没有安装第三方发布的rpm包情况下。centos7可联网。--------------------------------------

注意:下面的安装步骤是在服务器上没有安装第三方发布的rpm包情况下。centos7可联网。
-----------------------------------------------------------------------------------------------------------


安装mysql5.7


一、添加MySQL Yum 仓库


1、查看内核属于linux哪个版本。打开终端并运行以下命令:

uname -a

查看linux版本


2、进入网站查看对应的版本。https://dev.mysql.com/downloads/repo/yum/

在这里插入图片描述


3、使用以下命令下载发布包

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

在这里插入图片描述


4、安装下载的安装包

sudo rpm -Uvh mysql80-community-release-el7-1.noarch.rpm

在这里插入图片描述


二、选择发行系列


1、在MySQL Yum存储库(https://repo.mysql.com/yum)中,不同版本的MySQL Community Server托管在不同的子存储库中。默认情况下,默认启用最新GA系列(当前为MySQL 8.0)的子存储库,而所有其他系列(例如,MySQL 5.7系列)的子存储库均被禁用。使用此命令可查看MySQL Yum存储库中的所有子存储库,并查看已启用或禁用了哪些子存储库(对于启用dnf的系统,请使用dnf替换 命令中的 yum):

sudo yum repolist all | grep mysql

在这里插入图片描述


2、要安装最新GA系列的最新版本,无需进行配置。要安装除最新GA系列以外的特定系列的最新版本,请在运行安装命令之前禁用最新GA系列的子存储库并启用特定系列的子存储库。

比如我就想安装mysql5.7,而现在最新是mysql8.0,所以需要禁用8.0的,启用5.7的:

sudo yum-config-manager --disable mysql80-community

sudo yum-config-manager --enable mysql57-community

0代表已禁用
1代表已启用


3、使用此命令再次查看MySQL Yum存储库中的所有子存储库,并查看已启用或禁用了哪些子存储库,发现已切换为mysql5.7启用,mysql8.0已经禁用。

sudo yum repolist all | grep mysql

在这里插入图片描述


4、或者通过运行以下命令并检查其输出来验证是否已启用和禁用正确的子存储库

sudo yum repolist enabled | grep mysql

测试
注意:
只为一个发行系列启用子存储库。如果启用了多个发行系列的子存储库,那么Yum将使用最新的系列。


5、更新yum缓存。

yum 会把下载的软件包和header存储在cache中而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令清除缓存。
我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存,这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度。
下边两个命令按顺序执行:

yum clean all
yum makecache fast

三、通过命令安装MySQL。

会自动安装上面设置过可用的最新版本。这将安装MySQL服务器的软件包以及其他必需的软件包。
并且会替换centos7自带的mariadb数据库。

sudo yum install mysql-community-server

在这里插入图片描述经过几次确认,最终安装完成。

这种mysql的安装方式做了下面的事情:

安装了mysql服务
生成SSL证书文件并存放在data目录
安装有效性密码验证插件并启用
本地超级用户root被创建,root用户的密码在日志文件中,使用下面的命令查看密码

四、常用mysql服务命令:

对于基于EL7的平台(CentOS 7):

//启动mysql
$ systemctl start mysqld.service
//查看状态
$ systemctl status mysqld.service
//关闭
$ systemctl stop mysqld.service
//重启
$ systemctl restart mysqld.service
//运行开机自启
$ systemctl enable mysqld.service
//不允许开机自启
$ systemctl disable mysqld.service

此状态为已经正常运行。
在这里插入图片描述


五、获取初始密码登录mysql,并修改密码及校验规则

mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码。


1、通过如下命令可以在日志文件中找出密码:

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

在这里插入图片描述


2、使用刚才查到的初始密码登录,密码复杂可以用鼠标复制粘贴。

mysql -uroot -p

在这里插入图片描述


3、修改密码(新密码必须是8位及以上的数字、字母、特殊字符)

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

在这里插入图片描述


4、修改密码校验规则,配置可以使用弱密码(不嫌麻烦可以不修改规则,直接用复杂的密码,看个人)

查看当前完整的密码规则,详细如下图中注释:

show variables like 'validate_password%';

在这里插入图片描述
以下命令按顺序一条一条执行即可。(改为密码最短3位,其他无限制)

mysql> set global validate_password_policy=0;
mysql> set global validate_password_mixed_case_count=0;
mysql> set global validate_password_number_count=0;
mysql> set global validate_password_special_char_count=0;
mysql> set global validate_password_length=3;

在这里插入图片描述


5、可以重新改一下简单密码

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

-----------------------------------------------------------------------------------------------------------


mysql开启远程访问

远程登录数据库出现下面出错信息
ERROR 2003 (HY000): Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’,
原因是没有授予相应的权限


1、执行以下命令开启远程访问限制(下面命令分别是开启IP是 192.168.6.70,以及要开启所有的,用%代替IP):

#任何主机
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

#指定主机
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@’192.168.6.70’ IDENTIFIED BY '123456' WITH GRANT OPTION;

在这里插入图片描述


2、然后刷新权限

mysql>flush privileges;

-----------------------------------------------------------------------------------------------------------


mysql修改字符集


1、客户端提供MYSQL的环境,但是不支持中文,通过以下命令可以查看mysql的字符集

mysql>show variables like 'character_set%';

在这里插入图片描述


2、编辑配置文件(退出mysql执行)

vim /etc/my.cnf

添加四行代码,位置如图:

[client]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

在这里插入图片描述


3、重启服务(退出mysql命令行,在终端中执行,而非mysql中)

systemctl restart mysqld.service

4、之后进入mysql,查看字符集状态,发现已经为utf-8

在这里插入图片描述 -----------------------------------------------------------------------------------------------------------


mysql修改端口


1、修改端口

默认端口为3306,查看端口

mysql>show global variables like 'port';

在这里插入图片描述


2、停止mysql服务

systemctl stop mysqld.service

3、编辑配置文件

vim /etc/my.cnf

在【mysqld】下添加端口参数,如图:

port=3336

在这里插入图片描述


3、重启服务(退出mysql命令行,在终端中执行,而非mysql中)

systemctl restart mysqld.service

可能出现的问题:

正常的话将端口添加到防火墙例外中就可以远程访问了,如果出现以下错误:

job for sshd.service failed because the control process exited with error code......

在这里插入图片描述
应该是 SELinux 搞的鬼,将 SELinux 修改为宽松模式。
打开 vim /etc/selinux/config 修改为宽松模式
在这里插入图片描述若想临时生效可使用

setenforce 0 #关闭setenforce 1 # 开启

其他问题解决办法:查看mysql日志,查看日志命令如下

cat /var/log/mysqld.log

查看日志中报错的内容。如果是报错码,可以对应查找码的具体含义:https://blog.csdn.net/mr__bai/article/details/113251560

-----------------------------------------------------------------------------------------------------------


centos7 开启防火墙端口


一、开启防火墙端口,CentOS为firewalld添加开放端口3306


1、首先要确保防火墙已开启,开启命令:

systemctl start firewalld

2、开放端口,开放3306端口

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

3、刷新防火墙,立即生效

firewall-cmd --reload

4、查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

二、防火墙相关命令

关闭防火墙

如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估

systemctl stop firewalld.service

查看防火墙状态

systemctl status firewalld

查看监听的端口

netstat -lnpt

检查端口被哪个进程占用

netstat -lnpt |grep 5672

查看进程的详细信息

ps 6832

关闭端口(关闭后需要要重启防火墙才生效)

firewall-cmd --zone=public --remove-port=3338/tcp --permanent

开启防火墙

systemctl start firewalld

停止防火墙

systemctl stop firewalld重启防火墙```java
firewall-cmd --reload

开机启动防火墙

systemctl enable firewalld

禁止防火墙开机启动

systemctl disable firewalld

-----------------------------------------------------------------------------------------------------------


推荐阅读
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • linux qt打开常用文件格式,设置Linux Qt文件默认打开方式为QtCreator
    Linux自定义文件打开方式也可参照文本抱歉,本文前段时间写的ubuntu下的Qt工程文件默认打开方式是不好用的,因为其他的文本文件也会受到影响,强迫症患者,每次打开Qt工程都是先 ... [详细]
  • Centos7安装MySql5.6
    如何在CentO ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • linux服务器时间同步失败解决方法
    linux服务器时间同步失败解决方法1、为什么会时间不同步:①计算机的时间是根据电脑晶振以固定频率震荡而产生的,由于晶振的不同或者老化,会 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
author-avatar
徐州九七医院沁尿外科1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有