ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

CentOS7安装MySQL5

2022-09-13 22:00:09  阅读:316  来源: 互联网

标签:38 MySQL5 5.7 安装 CentOS7 64 mysql password rpm


本文为实战文章,注重无脑复制也能实现功能。
--- 我想偷懒使用docker没想到单独安装我尽然不会。-_-

目录

一、前提须知

我需要好好跟你讲一下笔者用的版本,以防止你跟着我的文章出现问题。因为我几乎把能踩的坑全踩了。呜呜呜呜!当初不应该用docker-compose偷懒的。

  • 服务器版本:CentOS 7.9
  • MySQL版本:5.7.38
  • 不是使用快速安装包

如果您只是为了快速搭建MYSQL 建议查阅快速安装包或者docker,这样可以省很多功夫。

二、安装MySQL

既然做好了准备那么就跟着我的节奏一起安装mysql吧!

2.1、下载需要的tar文件

你可以选择在官网下载你需要的包,或者使用我提供的网盘连接进行下载。笔者使用的版本在之前已经介绍,为5.7.38。如果你使用其他的版本可能会出现一些问题。比如5.7.22,说实话我失败了。

image

2.2、卸载mariadb

这一步按照个人的情况进行,如果你的centos是有的就必须卸载,没有就跳过。
判断是否有mariadb

[root@musiro ~]# rpm -qa|grep mariadb
> mariadb-libs-5.5.68-1.el7.x86_64

如果有就必须删除mariadb,它是centos自带的一个数据库,他会和mysql发生冲突,必须卸载。

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

2.3、卸载mysql

嗯哼?嗯哼?嗯哼? 对,你的电脑可能确实安装了关于mysql,建议检查一遍,如果安装必须删除。不然报错!报错!报错!!!!!!

先判断是否安装rpm快速包,如果存在就需要删除

rpm -qa | grep mysql
# 删除指令
rpm -e --nodeps <列出的数据> [列出的数据...]

往往这么删除是不够了,还需要查询系统里面关于mysql的文件

[root@musiro ~]# find / -name mysql
> /usr/lib64/mysql
> /etc/selinux/targeted/active/modules/100/mysql
[root@musiro ~]# ls /usr/lib64/mysql
> plugin

如果你通过以上指令出现的结果多了,请通过rm -ef <文件名>删除多出的文件夹,如果你/usr/lib64/mysql文件不仅有plugin也请直接删除。

当前展示的是一个重装的centos原本的输出结果。

2.4、安装几个需要的依赖

依赖说明:

  • gzip:用于第一步解压
  • perl libaio:mysql-server安装需要的依赖
yum install -y gzip perl libaio;

2.5、上传文件并解压文件

笔者将文件上传到/home/mysql/文件夹下,注意mysql的安装根文件的位置毛关系没有。所以放在你习惯的地方即可。

解压文件

gzip mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar;
tar -zxvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar.gz

image

2.6、安装rpm文件

一定要注意顺序,顺序不对会报错。

# common libs client server
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm mysql-community-libs-5.7.38-1.el7.x86_64.rpm mysql-community-client-5.7.38-1.el7.x86_64.rpm mysql-community-server-5.7.38-1.el7.x86_64.rpm

# 如果出问题你就一个一个安装
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm;

如果安装的8.x版本,安装顺序为:

  1. common
  2. client-plugins
  3. libs
  4. client
  5. icu-data-files
  6. server

2.7、启动mysql

直接启动不要,千万不要玩花里胡哨的,比如初始化,授权等等,如果报错了让你知道什么叫做问题黑洞。

# 第一次启动比较慢,等等就行。如果出错会报错的。
systemctl start mysqld

2.8、连接数据库

第一次启动数据库时会生成一个随机密码,需要到日志里面查看。

[root@musiro ~]# grep "password" /var/log/mysqld.log
>  2022-09-13T12:55:59.387778Z 1 [Note] A temporary password is generated for root@localhost: PkF2MXhRdT%c

此时笔者的密码就出现了PkF2MXhRdT%c。这个时候可以尝试登录数据库

[root@musiro ~]# mysql -uroot -p
Enter password: <PkF2MXhRdT%c 输入你的密码,看不见的。输错了请回车后重新连接,这玩意没有退格键。也许delete可以。>
mysql> 登录进来了

别急,这个时候你需要设置密码才能进行后续的操作。第一次设置密码需要你够长够复杂,不然会报错。
如果出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements说明你的密码太简单了。

# 简单密码 会报错
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql123.';

2.9、修改密码的加密方式

修改访问mysql 的加密方式使有必要的,一是安全,二是远程访问时必须使用指定加密不然不让你访问。首先查看下原本的加密方式

mysql> select host,user,plugin,authentication_string from mysql.user;

image

主要看大框的地方,如果你当前的加密方式为caching_sha2_password必须修改加密方式。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH  mysql_native_password BY '<新的密码>';

2.10、修改简单密码

如果你只是学习的目的使用mysql,不想设置复杂的mysql。OK这一步能够满足你的需求。先查看一下密码设置的要求

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    | 名字检测
| validate_password_dictionary_file    |        | 字典文件
| validate_password_length             | 8      | 长度
| validate_password_mixed_case_count   | 1      | 字母
| validate_password_number_count       | 1      | 数字
| validate_password_policy             | MEDIUM | 难度
| validate_password_special_char_count | 1      | 字符
+--------------------------------------+--------+
- LOW -> 只有长度限制
- MEDIUM -> 除了字典文件其他都限制
- STRONG -> 全部

了解的密码的设定原则这个时候可以根据需求修改密码的格式了。

mysql> set global <validate_password_policy 对应名称> = <LOW值>;
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

2.9、远程连接数据库

远程连接如果需要设置指定IP分文,请在host='指定ip',如果哪里都可以访问(即0.0.0.0)则设置为host='%'

mysql> use mysql
mysql> update user set host='%' where user='root';

建议开启远程访问后输入flush privileges;来设置mysql能够再不重启的状态下执行配置。

等等,别忘了防火墙。云服务器的安全组。

firewall-cmd --zone=public --add-port=3306/tcp --permanent;
systemctl restart firewalld

现在你可以尝试通过远程连接软件连接你的数据库了。
image

注:mysql配置不属于安装篇的内容,即使使用默认配置依然能够启动。所以不讲解配置基础的配置。其实笔者也不想配置了。

膜拜大佬<参考文献>

标签:38,MySQL5,5.7,安装,CentOS7,64,mysql,password,rpm
来源: https://www.cnblogs.com/musiro/p/16689692.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有