CentOS7.9安装Mysql5.7-m14

发布时间:2023年12月20日

简介

本文介绍了Linux CentOS系统下Mysql5.7-m14的下载和安装方法

环境?

CentOS Linux release 7.9.2009 (Core)

mysql ?Ver 14.14 Distrib 5.7.4-m14, for Linux (x86_64) using ?EditLine wrapper

正文

一、去官网下载mysql 5.7.4-m14

官网下载链接:

https://dev.mysql.com/downloads/

?

下载完成后上传到服务器?

二、安装Mysql

1、首先解压刚刚上传的mysql 5.7-m14

tar -xvf MySQL-5.7.4-m14-0.2.m14.el7.x86_64.rpm-bundle.tar

?这是解压后的目录

?2、开始安装

rpm -ivh mysql-community-common-5.7.4-0.2.m14.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.4-0.2.m14.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.4-0.2.m14.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.4-0.2.m14.el7.x86_64.rpm

注:我在执行 “?rpm -ivh mysql-community-server-5.7.4-0.2.m14.el7.x86_64.rpm ” 时报了错

?解决方案参考了这篇博文:https://www.cnblogs.com/yorge/p/13266976.html

2.1、安装perlDBI,运行:

yum install perl-DBI

2.2、安装perl的依赖,运行:

yum install -y perl-Module-Install.noarch

中间遇到 “?Is this ok [y/d/N]: ” 全部输入 ' y '

此时重新执行

rpm -ivh mysql-community-server-5.7.4-0.2.m14.el7.x86_64.rpm

即可正常执行。

3、查看安装是否成功

mysqladmin --version

CentOS中操作软件的命令

#启动
systemctl start mysqld
#关闭
systemctl stop mysqld
#重启
systemctl restart mysqld
#查看状态
systemctl status mysqld

可以看见启动成功(running)

查看服务是否自动启动(是:enabled | 否:disabled)

systemctl list-unit-files|grep mysqld.service

设置开机启动:如不是enabled可以运行如下命令设置自启动

systemctl enable mysqld

重新加载服务配置

systemctl daemon-reload

如果希望不进行自启动,运行如下命令设置

systemctl disable mysqld

说明:我看别的博客说安装完成会有临时密码写在 “ /var/log/mysqld.log ”路径下,使用下面的命令可以查看

grep 'temporary password' /var/log/mysqld.log

但我安装成功之后并没有在该文件下发现密码,所以我使用了以下方式免密登录

/etc/my.cnf #windows是my.ini

在my.cnf文件中加入以下代码再重新执行 "mysql -u root" enter即可登录成功

skip-grant-tables

设置完需要重新启动mysql

systemctl restart mysqld

登录成功后设置新的登录密码

update mysql.user set Password=password('你的密码') where user='root';

注:不同的mysql版本可能更新的字段不一样,有的可能是?“ authentication_string ” 字段

update mysql.user set authentication_string=password('你的密码') where user='root';

?设置好密码后需将 “ my.cnf ” 文件中刚刚加入的免密登录注释掉(每次更新my.cnf都需要重新启动mysql)

登录上去之后操作数据库时发现依然报错

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

?解决方法:

set PASSWORD=password('你的密码');

?

成功?

参考博客:https://blog.csdn.net/Lance_welcome/article/details/107314575?

文章来源:https://blog.csdn.net/cm777/article/details/135111421
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。