当前位置: 首页 > news >正文

mysql 数据库部署

以下是基于 CentOS 7 系统部署 MySQL 数据库的详细步骤及常见问题解决方案:

一、卸载旧版本 MySQL/MariaDB

  1. 停止服务并检查残留
    systemctl stop mariadb # 停止 MariaDB 服务 rpm -qa | grep mariadb # 检查 MariaDB 安装包 rpm -e --nodeps mariadb-libs-* # 强制卸载 MariaDB 及其依赖包 rm -rf /etc/my.cnf /var/lib/mysql # 删除残留配置和数据文件
    说明:CentOS 7 默认集成 MariaDB(MySQL 分支),需彻底卸载避免冲突 
     

二、安装 MySQL 官方 Yum 源

  1. 下载并配置 Yum 源

    wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm rpm -ivh mysql57-community-release-el7-11.noarch.rpm

    验证:检查 /etc/yum.repos.d/ 目录是否生成 mysql-community.repo 文件

  2. 解决 GPG 公钥错误 若安装时报错 Public key not installed,执行:

    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 yum install mysql-community-server -y # 重新安装

    提示:此错误因未验证软件包签名导致

三、启动 MySQL 服务及初始化

  1. 启动服务并设置开机自启

    systemctl start mysqld # 启动服务 systemctl enable mysqld # 设置开机自启 systemctl status mysqld # 检查状态
  2. 获取初始临时密码

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

    输出示例:A temporary password is generated for root@localhost: xxxxxx,记下此密码

  3. 修改 root 密码

    mysql -uroot -p # 输入临时密码登录 ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!'; # 新密码需包含大小写、数字、符号

    简化密码策略(可选): 若需使用简单密码,修改密码策略后重:

    qSET GLOBAL validate_password_policy=LOW; SET GLOBAL validate_password_length=6; ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

    注意:生产环境不推荐简化策略

四、配置 MySQL 字符集与远程访问

  1. 修改字符集为 UTF-8 编辑配置文件 /etc/my.cnf

    [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8

    重启服务生效:systemctl restart mysqld

  2. 允许远程访问

    CREATE USER 'remote_user'@'%' IDENTIFIED BY 'Remote_Pass123!'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;

    防火墙设置:开放 3306 端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload

    说明:确保 SELinux 未阻止访问,可临时关闭或配置策略

五、常见问题解决

  1. 服务启动失败

    • 检查 /var/log/mysqld.log 中的错误日志。
    • 确保 /var/lib/mysql 目录权限正确:chown -R mysql:mysql /var/lib/mysql 

  2. 无法找到 mysql.sock

    find / -name mysql.sock # 查找 sock 文件路径 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock # 创建软链接

    若仍失败,重启服务或检查磁盘空间

  3. JDBC 连接失败

    • 错误 Access denied:检查用户权限及密码。
    • 错误 Communications link failure:确认防火墙和 MySQL 监听地址(bind-address=0.0.0.0) 
       

六、验证部署

  1. 本地登录测试

    mysql -uroot -p # 输入密码后进入 MySQL Shell SHOW DATABASES; # 查看数据库列表
  2. 远程连接测试 使用 MySQL 客户端工具(如 Navicat、DBeaver)配置 IP、端口、用户信息测试连接。

通过以上步骤,可在 CentOS 7 上完成 MySQL 的完整部署。若需特定版本(如 MySQL 8.0),需调整 Yum 源配置(如启用 mysql80-community 仓库)

相关文章:

  • 故障诊断——neo4j入门
  • OpenManus 开源项目介绍
  • Flutter——Android与Flutter混合开发详细教程
  • Linux 入门:常用命令速查手册
  • c# txt文档的实时显示,用来查看发送接收指令
  • Linux练级宝典->基础IO
  • ​【C++设计模式】第二十二篇:访问者模式(Visitor)
  • HTML块级元素和内联元素(简单易懂)
  • Scrum介绍(一种Agile敏捷开发框架,主要用于复杂项目的管理和交付。其核心思想是通过迭代、增量的方式,快速响应变化,持续交付高价值成果)
  • 基于Python+SQLite实现校园信息化统计平台
  • 32单片机——KEY
  • Java 泛型
  • 生活之味:苦与甜的交织-中小企实战运营和营销工作室博客
  • 大模型叙事下的百度智能云:比创新更重要的,是创新的扩散
  • 第九课:WebSocket与实时通信技术解析
  • TCP三次握手与四次挥手详解:建立与断开连接的底层逻辑
  • mysql主从复制
  • python pip及常用国内镜像源
  • Java爬虫测试淘宝快递费接口的完整指南
  • Visual Studio 安装及使用教程(Windows)【安装】
  • 五大国货美妆去年业绩分化:珀莱雅百亿营收领跑,上海家化转亏
  • 坚持科技创新引领,赢得未来发展新优势
  • “ChatGPT严选”横空出世了,“DeepSeek严选”还要等多久?
  • 俄外长:俄将在不损害伙伴关系前提下发展对美关系
  • 巴西外长维埃拉:国际形势日益复杂,金砖国家必须发挥核心作用
  • 金科股份:去年营收约275亿元,今年确保所有项目“零烂尾”