news 2026/6/23 20:34:54

阿里云服务器上使用docker容器部署了mysql,但是现在想直接在服务器上部署mysql怎么操作?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
阿里云服务器上使用docker容器部署了mysql,但是现在想直接在服务器上部署mysql怎么操作?
在阿里云服务器上使用docker容器部署了mysql,但是在操作时发现明明数据库中有表但是使用select查询时却显示表不存在,应该是Linux环境中大小写敏感的原因,在MySQL中,控制大小写敏感的参数是lower_case_table_names。在Linux系统上,MySQL默认是大小写敏感的(即lower_case_table_names=0)。我们可以将其设置为1(表示不区分大小写)或2(表示存储为指定的大小写,但在比较时转换为小写)。但是想要在MySQL 8.0中,lower_case_table_names的修改限制,貌似只能在初始化之前设置。服务器之前已经使用Docker容器部署了MySQL数据,Docker的存储和网络性能可能影响数据库稳定性,所以想着干脆干掉Docker容器直接在服务器上部署。

步骤 1: 检查并停止 Docker MySQL 容器

首先,确认 Docker 容器中的 MySQL 是否在运行。如果容器占用 3306 端口,直接安装 MySQL 会失败。

  • 查看运行中的 Docker 容器(在服务器上输入以下命令):

    docker ps # 检查是否有名为 "mysql" 或其他 MySQL 容器在运行
  • 如果容器在运行,停止并移除它(可选,避免冲突):

    docker stop mysql # 停止容器 docker rm mysql # 移除容器(如果不再需要)这里最后参数mysql是你的mysql容器名称
  • 注意:如果需保留容器数据,仅停止容器即可(不运行docker rm)。Docker 容器停止后,3306 端口会释放 。

步骤2: 更新系统并安装MySQL

使用 Linux 包管理器在宿主机上安装 MySQL。

  • 更新软件包列表

sudo apt update # Ubuntu/Debian 或 sudo yum update # CentOS(根据系统执行,我用的阿里云执行的这个)
  • 安装MySQL服务器

    • Ubuntu/Debian:

      sudo apt install mysql-server -y
    • CentOS:

      sudo yum install mysql-server -y
    • 安装后自动启动服务。验证状态:

      sudo systemctl status mysql # 或 mysqld (CentOS)
    • 如果没有启动,则先执行启动命令

      sudo systemctl start mysql # Ubuntu/Debian 或 sudo systemctl start mysqld # CentOS
步骤3: 配置MySQL安全设置
  • 运行安全脚本以设置root密码、移除匿名用户等:

    sudo mysql_secure_installation
  • 根据提示操作:

    • 设置 root 密码(建议强密码)。

    • 移除匿名用户(选择Y)。

    • 禁止 root 远程登录(根据需求选择,如果需远程访问选N)。

    • 删除测试数据库(选择Y)。

    • 重新加载权限表(选择Y)。

步骤 4: 配置防火墙和阿里云安全组

确保本地防火墙和阿里云安全组允许 MySQL 端口(3306)。

  • 开放本地防火墙(如果使用 UFW):

    sudo ufw allow 3306/tcp # 允许 MySQL 端口 sudo ufw reload # 重新加载规则 或者 sudo firewall-cmd --list-all #查看防火墙列表 sudo firewall-cmd --permanent --add-port=3306/tcp #添加3306端口 sudo firewall-cmd --reload #重新加载规则
  • 阿里云控制台配置

    1. 登录阿里云控制台,进入ECS 实例>安全组

    2. 添加入站规则:协议类型TCP,端口范围3306,源 IP0.0.0.0/0(或你的 IP 段,建议尽量不要开放所有的ip)。

    3. 保存规则。

步骤 5: 验证 MySQL 连接

测试宿主机上的 MySQL 是否可访问:

mysql -u root -p # 输入步骤 3 设置的密码
  • 成功登录后,执行简单 SQL 命令:

    SHOW DATABASES; -- 查看数据库列表
  • 如果连接失败,检查端口冲突:

    sudo netstat -tunlp | grep 3306 # 查看 3306 端口占用
关键注意事项
  • 端口冲突处理:如果 Docker 容器未完全停止,或残留进程占用 3306 端口,使用sudo kill <进程ID>结束进程(见引用[4])4

  • 数据迁移:如果需要将 Docker 容器中的 MySQL 数据迁移到宿主机,先备份容器数据(docker exec -it mysql mysqldump -u root -p dbname > backup.sql),然后导入宿主机 MySQL。

  • 性能影响:直接部署 MySQL 通常比 Docker 容器性能更高,但需手动管理依赖和更新(参考引用[3] 的资源隔离对比)3

  • 安全性:避免同时运行 Docker MySQL 和宿主机 MySQL,防止资源竞争。

配完了发现忘记了最关键的一步,设置MySQL的大小写敏感权限。。

步骤 1: 停止 MySQL 服务

  • (在服务器上输入以下命令):

sudo systemctl stop mysqld

步骤 2: 备份所有数据

  • (当然我是新建的不需要,有需要的可以在服务器上输入以下命令):

    sudo mysqldump -u root -p --all-databases --routines --events > /root/mysql_full_backup_$(date +%F).sql

步骤 3. 删除原有数据目录

sudo rm -rf /var/lib/mysql/*

步骤4. 修改配置文件

sudo vi /etc/my.cnf

[mysqld]区块添加配置:

[mysqld] lower_case_table_names=1 # 1不区分大小写,0区分大小写

步骤5. 重新初始化数据库

sudo mysqld --initialize --user=mysql --lower-case-table-names=1

步骤6. 获取临时root密码

sudo grep 'temporary password' /var/log/mysqld.log

步骤7. 启动服务并修改密码

sudo systemctl start mysqld mysql -u root -p # 使用临时密码登录
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

步骤8. 恢复备份数据

mysql -u root -p < /root/mysql_full_backup_*.sql

步骤9. 重启Mysql

systemctl restart mysqld
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 16:37:19

CentOS7 磁盘扩容

1.在vm虚拟机中添加一个新的磁盘 在vm虚拟机中添加一个磁盘这里我添加了一个10GB的磁盘 2.对于磁盘进行分区 我们先运行 lsblk来查看我们刚刚新添加磁盘的代号可以看到我这里添加的新磁盘是sdf那么我们现在进行分区&#xff1a; fdisk /dev/sdf然后我们按n开始分区&#xff1a;…

作者头像 李华
网站建设 2026/6/23 18:19:58

PDFMathTranslate中文乱码终极解决方案:从诊断到完美修复

PDFMathTranslate中文乱码终极解决方案&#xff1a;从诊断到完美修复 【免费下载链接】PDFMathTranslate PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译&#xff0c;支持 Google/DeepL/Ollama/OpenAI 等服务&#x…

作者头像 李华
网站建设 2026/6/23 18:23:32

直接数字下变频 原理解释和python仿真

第一步&#xff1a;图 25.12 & 25.13 —— 寻找“完美的采样点”这两张图是在教我们怎么“偷懒”。1. 笨办法但很完美&#xff08;图 25.12&#xff09;2. 聪明的偷懒&#xff08;图 25.13&#xff09;第二步&#xff1a;图 25.14 —— 频域里的“乾坤大挪移”这张图解释了…

作者头像 李华
网站建设 2026/6/23 18:22:49

告别低效内耗:2025中小企业办公新方式

在数字化浪潮的推动下&#xff0c;中小企业的办公模式正迎来颠覆性变革。不同于大型企业拥有充足的资金和专业IT团队支撑复杂系统落地&#xff0c;中小企业更需要“轻量化部署、低成本投入、高适配性”的办公解决方案。仲量联行报告显示&#xff0c;2025年已有73%的中小企业实现…

作者头像 李华
网站建设 2026/6/23 8:22:51

微信7.0.6提示升级问题解决方法

下载NP管理器 1.1、提取安装包 打开安装包编辑器,点击左侧拉出菜单栏,单击栏内【安装包提取】功能,选择新旧版本微信后提取软件安装包。 1.2、查看安装包 通过安装包编辑器提取安装包功能提取新旧版VX的安装包,选择定位并查看,新旧版本操作方法一致。 1.3、获取版本…

作者头像 李华
网站建设 2026/6/23 8:10:29

大模型训练优化:5个内存效率提升技巧与实战配置指南

大模型训练优化&#xff1a;5个内存效率提升技巧与实战配置指南 【免费下载链接】DeepSeek-V3 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-V3 在当今大模型训练领域&#xff0c;内存优化与计算效率已成为决定项目成败的关键因素。本文基于DeepSeek-V3…

作者头像 李华