AlexRomeo
发布于 2024-05-25 / 263 阅读
0
0

CentOS7离线安装MySQL5.7

环境介绍

软件 版本
System: CentOS 7 64位
Software: mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar(官网下载)createrepo(通过yum进行在线安装)

下面的命令会直接将软件下载到/opt/software目录下,software目录需要手动创建

# 创建目录
mkdir /opt/software

# 下载
wget -O /opt/software/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar

开始安装

创建目录

mkdir -p /usr/local/yum/mysqlRPMs

解压tar包到刚刚创建的目录

tar -xvf /opt/software/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar -C /usr/local/yum/mysqlRPMs

安装createrepo

yum install -y createrepo

编写yum配置文件

vim /etc/yum.repos.d/mysql-local.repo

内容如下:

[mysql-local]
name=mysql-local
baseurl=file:///usr/local/yum
gpgcheck=0
enabled=1

生成yum元数据

createrepo /usr/local/yum

命令执行后所返回的信息

[root@centos7 ~]# createrepo /usr/local/yum
	Spawning worker 0 with 3 pkgs
	Spawning worker 1 with 3 pkgs
	Spawning worker 2 with 3 pkgs
	Spawning worker 3 with 3 pkgs
	Workers Finished
	Saving Primary metadata
	Saving file lists metadata
	Saving other metadata
	Generating sqlite DBs
Sqlite DBs complete

检查本地源中是否有MySQL信息

yum list | grep mysql-local

返回信息如下:

mysql-community-client.x86_64               5.7.34-1.el7               mysql-local
mysql-community-common.x86_64               5.7.34-1.el7               mysql-local
mysql-community-devel.x86_64                5.7.34-1.el7               mysql-local
mysql-community-embedded.x86_64             5.7.34-1.el7               mysql-local
mysql-community-embedded-compat.x86_64      5.7.34-1.el7               mysql-local
mysql-community-embedded-devel.x86_64       5.7.34-1.el7               mysql-local
mysql-community-libs.x86_64                 5.7.34-1.el7               mysql-local
mysql-community-libs-compat.x86_64          5.7.34-1.el7               mysql-local
mysql-community-server.x86_64               5.7.34-1.el7               mysql-local
mysql-community-test.x86_64                 5.7.34-1.el7               mysql-local
  1. 开始安装MySQL
yum install -y mysql-community-*

成功后截图

配置MySQL

mysql在安装之后此时并未进行初始化,MySQL服务并不能使用。

初始化MySQL

mysqld --initialize --user=mysql --console

获取MySQL初始化密码

grep password /var/log/mysqld.log

在返回的结果中,最后的字符串是mysql的初始化密码,如下“a?li8GfhlPE>”就是密码,需要注意,默认只有360秒的有效期

2023-02-23T05:12:04.737785Z 1 [Note] A temporary password is generated for root@localhost: a?li8GfhlPE>

启动MySQL服务端

systemctl start mysqld

通过客户端登录,然后修改密码:

单引号中的内容是要修改的root账户密码

mysql -uroot -p
ALTER USER user() IDENTIFIED BY 'root';
flush privileges;

开放MySQL远程访问/登录权限

MySQL默认仅允许本地访问,即便是操作系统的防火墙关闭或开放了3306端口外部也依然无法进行访问。

在登录mysql之后,执行下列的操作

use mysql
select user,host from user;

返回结果:

mysql> select user,host from user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

执行命令:

update user set host = '%' where user ='root';
select user,host from user;

返回结果:

+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
+---------------+-----------+
GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' WITH GRANT OPTION;  
FLUSH PRIVILEGES;

至此,MySQL在Linux(CentOS7)系统中的安装已全部完成,且允许远程的方式进行访问。


评论