0

0

Linux如何配置MySQL_Linux系统MySQL安装与配置教程

蓮花仙者

蓮花仙者

发布时间:2025-08-31 10:29:01

|

1158人浏览过

|

来源于php中文网

原创

答案:Linux下配置MySQL需先安装服务,再进行安全初始化、配置文件修改、防火墙设置及用户权限管理。具体包括使用apt或yum安装MySQL,运行mysql_secure_installation设置安全选项,修改my.cnf配置文件以调整字符集、绑定地址和性能参数,开放3306端口防火墙规则,创建专用用户并授权;若启动失败,需检查日志、端口占用、配置语法、磁盘空间和权限;重置root密码可通过--skip-grant-tables(MySQL 5.7及以下)或init-file方式(MySQL 8.0+);性能优化涉及索引设计、SQL分析、缓冲池调优、硬件升级与定期维护。

linux如何配置mysql_linux系统mysql安装与配置教程

Linux下配置MySQL,简单来说就是安装MySQL服务,然后进行一些基本的安全设置和性能优化。安装方式有很多,取决于你的Linux发行版,配置则是为了让MySQL更好地服务你的应用。

解决方案

  1. 安装MySQL服务:

    • Debian/Ubuntu: 使用
      apt
      包管理器。
    sudo apt update
    sudo apt install mysql-server

    安装过程中可能会提示设置root密码,请牢记。如果忘记,后续可以重置。

    • CentOS/RHEL: 使用
      yum
      dnf
      包管理器。
    sudo yum install mysql-server  # 或者 sudo dnf install mysql-server
    sudo systemctl start mysqld
    sudo systemctl enable mysqld # 设置开机自启

    CentOS 7/RHEL 7 默认是MariaDB,想安装MySQL需要先添加MySQL官方的YUM源。CentOS 8/RHEL 8 默认使用

    dnf

    • 通用二进制包: 从MySQL官网下载对应Linux版本的二进制包,解压后配置环境变量,然后手动启动。这种方式比较灵活,但也更复杂,适合对MySQL有深入理解的用户。
  2. 初始化MySQL(重要):

    安装完成后,需要运行MySQL的安全初始化脚本。

    sudo mysql_secure_installation

    这个脚本会引导你设置root密码,删除匿名用户,禁止远程root登录,以及删除测试数据库。强烈建议按照提示操作。

  3. 登录MySQL:

    mysql -u root -p

    输入你在

    mysql_secure_installation
    中设置的root密码。如果忘记密码,需要重置。

  4. 配置MySQL:

    MySQL的配置文件通常位于

    /etc/mysql/mysql.conf.d/mysqld.cnf
    (Debian/Ubuntu) 或
    /etc/my.cnf
    (CentOS/RHEL)。

    • 字符集: 修改默认字符集,支持中文等。
    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci
    
    [client]
    default-character-set=utf8mb4
    • 绑定地址: 默认只允许本地连接,如果需要远程连接,需要修改
      bind-address
    #bind-address = 127.0.0.1  # 注释掉这一行或者修改为 0.0.0.0 允许所有IP连接

    警告: 允许所有IP连接存在安全风险,请谨慎操作,并配合防火墙规则。

    • 性能优化: 根据服务器配置调整
      innodb_buffer_pool_size
      等参数,提高MySQL性能。

    修改配置文件后,需要重启MySQL服务:

    sudo systemctl restart mysql
  5. 防火墙设置:

    如果开启了防火墙,需要允许MySQL的3306端口通过。

    • UFW (Ubuntu):
    sudo ufw allow 3306
    • Firewalld (CentOS/RHEL):
    sudo firewall-cmd --permanent --add-port=3306/tcp
    sudo firewall-cmd --reload
  6. 创建用户和授权:

    不要使用root用户进行日常操作,创建新的用户并授予相应的权限。

    CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
    FLUSH PRIVILEGES;

    如果需要允许远程连接:

    CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'%';
    FLUSH PRIVILEGES;

    警告: 授予

    ALL PRIVILEGES
    权限要谨慎,根据实际需要授予最小权限。

    乐活途—购物分享社区 X2.0
    乐活途—购物分享社区 X2.0

    安装说明重要提醒:程序不支持二级目录安装,请使用一级目录或二级目录绑定!第一步,确定你的服务器支持PHP+mysql。第二步,确定你的服务器开启了gd库。第三步,将upload文件内的文件上传到网站的根目录第四步,访问你的域名+ /install/index.html进行安装,linux系统访问你的域名+ /Install/index.html第五步,按照安装程序步骤进行安装配置第六步,安装完毕后

    下载

如何解决MySQL启动失败的问题?

MySQL启动失败的原因有很多,最常见的是端口被占用、配置文件错误、磁盘空间不足等。

  • 查看日志: MySQL的错误日志通常位于

    /var/log/mysql/error.log
    (Debian/Ubuntu) 或
    /var/log/mysqld.log
    (CentOS/RHEL)。仔细查看日志,可以找到具体的错误信息。

  • 端口占用: 使用

    netstat -tulnp
    ss -tulnp
    命令查看3306端口是否被其他程序占用。如果是,停止占用端口的程序或者修改MySQL的端口。

  • 配置文件错误: 检查

    /etc/mysql/mysql.conf.d/mysqld.cnf
    /etc/my.cnf
    配置文件是否存在语法错误。可以使用
    mysqld --validate-config
    命令验证配置文件的正确性。

  • 磁盘空间不足: 检查磁盘空间是否足够,特别是

    /var/lib/mysql
    目录所在的磁盘。

  • 权限问题: 确保MySQL用户对数据目录有读写权限。

如何重置MySQL root密码?

忘记MySQL root密码是很常见的问题。重置密码的方法略有不同,取决于MySQL的版本。

  • MySQL 5.7及之前:

    1. 停止MySQL服务。
    sudo systemctl stop mysql
    1. 以跳过权限验证的方式启动MySQL。
    sudo mysqld_safe --skip-grant-tables &
    1. 登录MySQL。
    mysql -u root
    1. 修改root密码。
    UPDATE mysql.user SET authentication_string=PASSWORD('your_new_password') WHERE User='root';
    FLUSH PRIVILEGES;
    exit;
    1. 停止MySQL服务,并以正常方式启动。
    sudo systemctl stop mysql
    sudo systemctl start mysql
  • MySQL 8.0及之后:

    1. 停止MySQL服务。
    sudo systemctl stop mysql
    1. 创建包含重置密码命令的文件,例如
      reset_password.sql
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
    1. 以安全模式启动MySQL。
    sudo mysqld --init-file=/path/to/reset_password.sql --user=mysql --console
    1. 启动完成后,登录MySQL。
    mysql -u root -p

    输入你在

    reset_password.sql
    中设置的新密码。

如何优化MySQL性能?

MySQL性能优化是一个很大的话题,涉及到很多方面。

  • 索引: 合理使用索引可以大大提高查询速度。但索引也不是越多越好,过多的索引会降低写入性能。

  • 查询优化: 使用

    EXPLAIN
    命令分析SQL查询语句,找出性能瓶颈。避免全表扫描,尽量使用索引。

  • 配置优化: 根据服务器配置调整

    innodb_buffer_pool_size
    key_buffer_size
    query_cache_size
    等参数。

  • 硬件升级: 如果软件优化效果不明显,可以考虑升级硬件,例如增加内存、使用SSD等。

  • 定期维护: 定期进行表优化(

    OPTIMIZE TABLE
    )和碎片整理,可以提高查询效率。

  • 监控: 使用MySQL自带的监控工具或者第三方监控工具,实时监控MySQL的性能指标,及时发现问题。例如使用

    SHOW GLOBAL STATUS
    查看各种状态变量。

  • 分库分表: 当单表数据量过大时,可以考虑分库分表,将数据分散到多个数据库或表中。

优化是一个持续的过程,需要不断地监控和调整。不要盲目地修改配置,要根据实际情况进行分析和调整。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

682

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

320

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

347

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1095

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

357

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

676

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

575

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

417

2024.04.29

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

36

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 801人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号