在虚拟机中部署MYSQL的方法

前言

本篇主要讲解如何在linux中部署mysql操作的方法,及使用。

一、安装MYSQL

1. 先查看默认安装好的MySQL版本并将其卸载

在这里插入图片描述

2. 上传新的mysql包并解压

在这里插入图片描述
解压格式: tar -xf + 名称
在这里插入图片描述解压结果
在这里插入图片描述

3.使用 rpm安装软件包 (按顺序进行安装)

rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_6

<think>我们正在处理一个关于在虚拟机部署MySQL的问题。用户提供了多个引用,这些引用描述了不同的安装方法,包括直接从官网下载安装、使用Docker容器安装以及使用rpm包安装等。我们需要整合这些信息,提供一个清晰、步骤明确的指南。根据引用[1],我们可以从MySQL官网下载社区版服务器。引用[4]和[5]提供了在虚拟机中通过rpm包安装MySQL的详细步骤。引用[2]和[3]则展示了如何使用Docker容器来部署MySQL。考虑到用户可能有两种主要方式:1)直接在虚拟机中安装MySQL;2)使用Docker容器安装。我们将分别介绍这两种方法,并给出配置步骤。由于用户问题没有明确指定使用哪种方式,我们将提供两种常见方法的步骤,并让用户根据需求选择。注意:在虚拟机中安装MySQL,通常指的是在虚拟机的操作系统(如Linux)中直接安装MySQL服务器。而使用Docker则是另一种更轻量级的部署方式。我们将按照以下结构回答:1.方法一:直接在虚拟机中安装MySQL(参考引用[4][5])2.方法二:使用Docker容器安装MySQL(参考引用[2][3])3.配置MySQL(包括远程访问等)最后,根据要求生成相关问题。注意:在步骤中,我们会根据引用内容给出具体命令,并解释关键步骤。</think>### 在虚拟机部署和配置MySQL数据库的完整指南 #### 方法一:直接安装MySQL(推荐原生环境) 1. **卸载旧版本** 先移除系统自带的旧版MySQL/MariaDB: ```bash rpm -qa | grep -i -E mysql\|mariadb | xargs sudo rpm -e --nodeps ``` 2. **下载安装包** 访问MySQL官网下载社区版:[MySQL Community Server下载](https://downloads.mysql.com/archives/community/)[^1] 选择对应版本(如RPM Bundle),上传到虚拟机`/opt/software` 3. **安装依赖与主程序** ```bash # 安装依赖 sudo yum install libaio numactl # 解压安装包 tar -xvf mysql-*.tar.gz # 按顺序安装rpm包 sudo rpm -ivh mysql-community-common-*.rpm sudo rpm -ivh mysql-community-libs-*.rpm sudo rpm -ivh mysql-community-client-*.rpm sudo rpm -ivh mysql-community-server-*.rpm ``` 4. **初始化数据库** ```bash sudo systemctl start mysqld sudo grep 'temporary password' /var/log/mysqld.log # 获取临时密码 ``` 5. **安全配置** ```sql mysql -uroot -p'临时密码' -- 修改密码策略 SET GLOBAL validate_password_length=4; SET GLOBAL validate_password_policy=0; -- 设置新密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; -- 开启远程访问 UPDATE mysql.user SET host='%' WHERE user='root'; FLUSH PRIVILEGES; ``` #### 方法二:使用Docker容器化部署(推荐快速部署) ```bash docker run -d \ --name mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=your_password \ -e TZ=Asia/Shanghai \ -v /mydata/mysql/conf:/etc/mysql/conf.d \ -v /mydata/mysql/data:/var/lib/mysql \ mysql:8.0.26 ``` > **关键参数说明**[^2][^3]: > - `-p 3306:3306`:端口映射(主机端口:容器端口) > - `-v`:目录挂载(配置文件、数据持久化) > - `-e MYSQL_ROOT_PASSWORD`:设置root密码 > - `-e TZ`:设置时区为上海 #### 通用配置步骤 1. **防火墙设置** ```bash sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload ``` 2. **配置文件优化** 编辑`/etc/my.cnf`(原生安装)或`/mydata/mysql/conf/my.cnf`(Docker): ```ini [mysqld] character-set-server=utf8mb4 max_connections=1000 innodb_buffer_pool_size=1G ``` 3. **连接测试** ```bash mysql -h 虚拟机IP -u root -p ``` #### 常见问题解决 - **访问拒绝错误**:在`my.cnf`中添加`skip-grant-tables`后重启服务,重新设置权限[^5] - **数据持久化**:Docker必须配置`-v`挂载卷,否则容器删除数据丢失 - **时区问题**:启动时指定`-e TZ=Asia/Shanghai`确保时间正确 > **最佳实践建议**: > 生产环境推荐使用Docker部署,配合卷挂载实现: > - 配置文件热更新 > - 数据持久化存储 > - 快速版本迁移 > 开发环境可选择原生安装获得完整功能体验[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值