写在文章开头
节假日对过去的文章进行整理复盘,找到早期Linux
下MySQL
安装的教程,私以为尽管现在有docker
等方式快速完成MySQL
的部署安装,但我相信大家也都听过不建议将用docker
部署MySQL
的几大理由:
- 数据安全:容器被删,数据即毁掉。
- 性能瓶颈:数据库的性能瓶颈一般出现在
IO
上面,按照docker
的思路,多个MySQL
容器跑到同一台服务器的docker
上面,IO
问题依然存在。 - 网络:要想解决
docker
上关于MySQL
的网络问题,你必须对docker
的虚拟化网络有一定的理解。 - 状态:
docker
主要是针对无状态服务打包,针对数据库这种有状态的场景不太合适。 - 资源隔离:
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
账号尝试登录,如下图所示,如果用连接工具连接提示登录成功,则说明本次安装工作完成了。
小结
我是sharkchili ,CSDN Java 领域博客专家 ,开源项目---JavaGuide contributor ,我想写一些有意思的东西,希望对你有帮助,如果你想实时收到我写的硬核的文章也欢迎你关注我的公众号: 写代码的SharkChili ,同时我的公众号也有我精心整理的并发编程 、JVM 、MySQL数据库个人专栏导航。
参考
你在 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...