用Yum在Linux安装MySQL8

使用Docker快速创建CentOS7.8集群与容器间通信
该文介绍如何通过Docker安装CentOS7.8虚拟系统集群,创建桥接网络以实现容器间的通信。使用阿里云镜像仓库的预装镜像创建容器,设置网络别名、端口映射和目录挂载,并通过SSH进行远程连接。此外,还提到了容器内hostname的问题及解决方案。

前言

先安装Docker,使用文内的脚本可以快速创建CentOS 7.8虚拟系统集群,并通过SSH(Secure Shell)远程工具连接。

创建桥接网络,方便容器间通信

指令格式为docker network create <网络名称 >

docker network create test-network
复制代码

列出Docker下所有网络可以看到test-network。

docker network ls
复制代码

通过CentOS 7镜像创建容器

运行docker run使用阿里云镜像仓库拉取打包好的CentOS 7中文版镜(在centos:7.8.2003 镜像基础上添加了JDK8、 vim、lsof、wget、tree、python-devel、c 编译环境、SSH)像创建CentOS 7容器,系统用户名、密码分别为root和666666。

同一个主机下创建多个容器需要定义新的容器名(--name node2)、网络别名(--network-alias node2)、容器hostname(-h node2)、挂载到容器的目录名(-v /root/docker/node2:/root/share)以及映射的端口(-p 30003:22 -p 30004:80)。

docker run \
--name node1 \
--network test-network \
--network-alias node1 \
--privileged=true \
-h node1 \
-dit \
-m 1500M \
-w ~/ \
-v /root/docker/node1:/root/share \
-p 30001:22 \
-p 30002:80 \
registry.cn-shanghai.aliyuncs.com/exposure/centos:7.8.2003_v1 \
/usr/sbin/init
复制代码

命令中每个参数解释:

# docker run \
# --name node1 \ 指定容器名为node1
# --network test-network \ 使用名为test-network的网络
# --network-alias node1 \ 指定网络别名为node1,相当于域名
# --privileged=true \ 指定是特权容器,拥有完整root权限
# -h node1 \ 指定hostname
# -dit \ 相当于后台运行容器(-d)、以交互模式运行容器(-i)、为容器重新分配一个伪输入终端(-t),-i和-t一般同时使用
# -m 1500M \ 限制容器使用内存上限1500兆
# -w ~/ \ 工作目录、进入容器后目录为当前用户目录
# -v /root/docker/node1:/root 将宿主机/root/docker/node1目录挂载到容器/root/share目录,目录下内容可以互相看到
# -p 30001:22 \ 宿主机30001端口映射为容器22端口,通过宿主机30001端口相当于访问容器22端口
# -p 30002:80 \
# registry.cn-shanghai.aliyuncs.com/exposure/centos:7.8.2003_v1 \ 使用镜像仓库以及标签/版本号
# /usr/sbin/init \ 容器启动后执行这个指令来准备软件执行的环境,包括系统的主机名、网络设定、语言、文件系统格式及其他服务的启动等
复制代码

连接容器

  • 宿主机命令行进入容器
# 进入容器
docker exec -it node1 /bin/bash
​
# 退出容器
exit
复制代码
  • 远程连接:通过宿主机IP和端口(映射容器22端口的那个)来访问CentOS 7容器

容器间互相访问

同一网络下,容器通过网络别名(--network-alias)来互相访问。下图中连接到node2容器,在容器内可以ping通node1,网络是通的。

目录挂载问题

如果将宿主机空目录直接挂载到容器/root目录,可能会导致一些问题,比如登录容器系统hostname始终显示-bash-4.2#,而不是我们设置的,如node1。因为/root目录下缺少配置文件,而挂载的宿主机目录又没有。

hostname不正常显示,可以在登录容器后执行下面语句,拷贝默认配置到/root目录,然后重新连接即可显示正常。

cp /etc/skel/.bashrc /root
cp /etc/skel/.bash_profile /root

作者:我有八千部下
链接:https://juejin.cn/post/7218411904700170300
 

### 安装 MySQL 8 的步骤 要在 Linux 系统中使用 `yum` 命令安装 MySQL 8,可以按照以下方法操作: #### 添加 MySQL Yum 存储库 首先需要添加官方的 MySQL Yum 存储库。可以通过运行以下命令完成此操作: ```bash sudo yum install -y https://repo.mysql.com/mysql80-community-release-el7-8.noarch.rpm ``` 这条命令的作用是下载并安装 MySQL 社区版存储库文件[^1]。 #### 配置存储库选项 如果希望确保只安装特定版本的 MySQL(例如 MySQL 8),可以在 `/etc/yum.repos.d/` 目录下找到对应的 `.repo` 文件,并编辑其中的内容以启用或禁用某些子存储库。通常情况下,默认配置已经满足需求。 #### 开始安装 MySQL Server 接着执行如下命令来安装 MySQL 数据库服务器组件: ```bash sudo yum -y install mysql-community-server ``` 这一步骤将会自动解析依赖关系并完成整个 MySQL 软件包的部署工作[^1]。 对于某些场景可能还会遇到 GPG 密钥验证失败的问题,则可尝试加上参数 `--nogpgcheck` 来跳过校验环节继续前进: ```bash sudo yum install mysql-community-server --nogpgcheck ``` 该方式适用于那些由于网络环境或者其他原因无法正常获取到所需密钥认证信息的时候使用[^2]。 #### 启动与设置开机自启服务 成功安装之后记得开启 MySQL 服务以及设定其随系统引导而自行加载的功能: ```bash sudo systemctl start mysqld # 即刻激活当前实例 sudo systemctl enable mysqld # 设置成默认启动项之一 ``` 另外需要注意的是,在初次安装完成后,MySQL 自身会产生一段临时密码供管理员登录初期管理账户之需。我们能够借助查阅日志文件的方式来取得它: ```bash cat /var/log/mysqld.log | grep 'temporary password' ``` 上述指令可以帮助定位初始 root 用户所使用的短时间有效凭据以便后续更改安全性更高的新密码[^3]。 最后确认一下实际已装载的服务状态是否处于活动当中而非挂起或者停止状况之中即可放心投入使用啦! ```bash systemctl status mysqld # 查看实时健康情况报告 mysql -V # 展示目前存在的引擎版本号详情 ``` ### 注意事项 当您发现即使下达了正确的启动指示却依旧得不到预期响应时,请仔细对比前后两次查询结果差异之处加以分析解决办法[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值