Linux环境下MySQL部署安装

写在文章开头

节假日对过去的文章进行整理复盘,找到早期LinuxMySQL安装的教程,私以为尽管现在有docker等方式快速完成MySQL的部署安装,但我相信大家也都听过不建议将用docker部署MySQL的几大理由:

  1. 数据安全:容器被删,数据即毁掉。
  2. 性能瓶颈:数据库的性能瓶颈一般出现在IO上面,按照docker的思路,多个MySQL容器跑到同一台服务器的docker上面,IO问题依然存在。
  3. 网络:要想解决docker上关于MySQL的网络问题,你必须对docker的虚拟化网络有一定的理解。
  4. 状态:docker主要是针对无状态服务打包,针对数据库这种有状态的场景不太合适。
  5. 资源隔离:docker只能限制容器资源大小,如果其他程序占用过多的物理资源,mysql容器依然存在性能瓶颈。

所以笔者就对这篇文章进行整理分析,读者可根据本文操作快速完成MySQL部署安装:

你好,我叫sharkchili,目前还是在一线奋斗的Java开发,经历过很多有意思的项目,也写过很多有意思的文章,是CSDN Java领域的博客专家,也是Java Guide的维护者之一,非常欢迎你关注我的公众号:写代码的SharkChili,这里面会有笔者精心挑选的并发、JVM、MySQL数据库专栏,也有笔者日常分享的硬核技术小文。

安装

我们首先要完成MySQL资源安装,先使用wget命令获取MySQL5.7的资源:

bash 复制代码
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

然后使用yum命令完成安装:

java 复制代码
yum -y install mysql57-community-release-el7-10.noarch.rpm

就继续MySQL服务器的安装,注意使用yum过程中可能会抛出如下错误:

bash 复制代码
Failing package is: mysql-community-client-5.7.38-1.el7.x86_64
warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-client-5.7.38-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
 Failing package is: mysql-community-client-5.7.38-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

所以我们在安装时需要添加nogpgcheck这条命令绕过GPG验证检查:

bash 复制代码
 yum -y install mysql-community-server --nogpgcheck

自此所有的资源都安装完成了,接下来就是配置步骤了。

配置

我们首先尝试启动mysql服务,如果界面没有输出任何错误则说明MySQL服务启动成功:

java 复制代码
systemctl start mysqld.service 

接下来就要进行密码修改工作了,我们需要键入以下命令获取密码:

java 复制代码
grep "password" /var/log/mysqld.log

最终会得到下面这段输出结果,可以看到kyd2Oy3QT#+%就是初始的数据库密码:

bash 复制代码
2024-02-10T07:04:11.779950Z 1 [Note] A temporary password is generated for root@localhost: kyd2Oy3QT#+%

然后我们在输入mysql -u root -p进入MySQL控制台,我们按照提示输入上文的密码即可完成登录,大体输出过程如下所示:

bash 复制代码
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.44

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

随后我们键入use mysql,进行user表修改操作,对应的步骤和解析如下:

bash 复制代码
# 禁用密码检查,不对密码长度进行验证
set global validate_password_policy=0;
# 设置密码要求的最大长度为1
set global validate_password_length=1;
# 修改root的密码为 new password
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
# 设置root允许所有主机使用
update user set host = '%' where user ='root';
# 刷新
flush privileges;

验证

基于修改后的root账号尝试登录,如下图所示,如果用连接工具连接提示登录成功,则说明本次安装工作完成了。

小结

我是sharkchiliCSDN Java 领域博客专家开源项目---JavaGuide contributor ,我想写一些有意思的东西,希望对你有帮助,如果你想实时收到我写的硬核的文章也欢迎你关注我的公众号: 写代码的SharkChili ,同时我的公众号也有我精心整理的并发编程JVMMySQL数据库个人专栏导航。

参考

你在 Docker 中跑 MySQL?恭喜你,可以滚了!:zhuanlan.zhihu.com/p/424233173 mysql 允许所有ip地址访问:www.jianshu.com/p/51ab88c64... Centos指令mysql安装报错为" Failing package is: mysql-community-client-5.7.38-1.el7.x86_64":blog.csdn.net/weixin_4257...

复制代码
相关推荐
NiNg_1_2346 分钟前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
Chrikk2 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*2 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue2 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man2 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
customer083 小时前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源
Yaml44 小时前
智能化健身房管理:Spring Boot与Vue的创新解决方案
前端·spring boot·后端·mysql·vue·健身房管理
小码编匠5 小时前
一款 C# 编写的神经网络计算图框架
后端·神经网络·c#