如何在服务器上安装和配置数据库(如MySQL)?

拥有一台**云服务器** 后,安装数据库通常是部署应用的关键第一步。本文将以最流行的开源数据库MySQL 为例,为您提供一份从零开始的、详尽的MySQL安装教程。内容涵盖安装、初始化、安全配置及远程连接,帮助您快速搭建一个稳定可靠的数据库环境。


一、准备工作

在开始之前,请确保您已经:

  1. 拥有一台云服务器 :无论是恒讯科技 的云服务器,还是其他服务商,建议使用CentOS 7/8Ubuntu 20.04/22.04等主流Linux发行版。

  2. 具备服务器访问权限:您需要通过SSH工具(如PuTTY、Xshell、Terminal)连接到您的服务器。

  3. 拥有root或sudo权限:执行安装命令需要较高的权限。

关键词: 云服务器MySQL安装教程Linux环境


二、安装MySQL服务器

我们将使用MySQL官方提供的Yum源(适用于CentOS/RHEL)或APT源(适用于Ubuntu/Debian)进行安装,这能确保我们获取到最新且稳定的版本。

对于CentOS / RHEL 系统:

  1. 添加MySQL Yum源

    bash
    复制
    下载

    复制代码
    sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
  2. 安装MySQL服务器

    bash
    复制
    下载

    复制代码
    sudo yum install -y mysql-community-server
  3. 启动MySQL服务并设置开机自启

    bash
    复制
    下载

    复制代码
    sudo systemctl start mysqld
    sudo systemctl enable mysqld

对于Ubuntu / Debian 系统:

  1. 添加MySQL APT源

    bash
    复制
    下载

    复制代码
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
    sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
    # 在弹出的配置界面直接选择 "OK"
    sudo apt-get update
  2. 安装MySQL服务器

    bash
    复制
    下载

    复制代码
    sudo apt-get install -y mysql-server

    安装过程中,可能会提示您设置root用户的密码,请务必设置一个强密码。

关键词: 安装MySQL服务器MySQL安全配置


三、进行初始安全配置

安装完成后,为了数据库的安全,强烈建议运行MySQL自带的安全脚本。

  1. 获取临时密码(仅CentOS需要)

    在CentOS上,MySQL首次启动后会为root用户生成一个临时密码,查看方式如下:

    bash
    复制
    下载

    复制代码
    sudo grep 'temporary password' /var/log/mysqld.log

    记下显示的临时密码。

  2. 运行安全配置向导

    执行以下命令:

    bash
    复制
    下载

    复制代码
    sudo mysql_secure_installation

    接下来,您会看到一系列提示,请根据情况选择:

    • 验证密码插件 :建议输入 y 并设置一个强密码策略。

    • 更改ROOT密码 :输入 y,然后设置一个新的、高强度的root用户密码。

    • 删除匿名用户? :输入 y

    • 禁止root远程登录? :输入 y。这是数据库安全的关键一步,确保root用户只能在服务器本地登录。

    • 删除测试数据库? :输入 y

    • 重新加载权限表? :输入 y

完成以上步骤后,您的MySQL已经处于一个相对安全的状态。

关键词: 数据库安全MySQL安全配置root密码


四、配置远程访问(可选但重要)

默认情况下,MySQL只允许本地连接。如果您的应用程序与数据库不在同一台服务器上,就需要配置远程访问。

警告:开启远程访问会增加安全风险,请务必设置强密码并谨慎操作。

  1. 登录MySQL

    使用root用户登录:

    bash
    复制
    下载

    复制代码
    mysql -u root -p
    # 输入您刚设置的root密码
  2. 创建一个专用用于远程连接的用户

    在MySQL提示符下,执行以下命令。请将 'your_strong_password' 替换为一个复杂的密码,将 'your_local_pc_ip' 替换为您应用服务器的IP地址(使用 % 表示允许任何IP,但极不安全,不推荐)。

    sql
    复制
    下载

    复制代码
    CREATE USER 'remote_user'@'your_local_pc_ip' IDENTIFIED BY 'your_strong_password';
    GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'your_local_pc_ip' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;
  3. 配置防火墙

    您需要放行MySQL的默认端口(3306)。

    • 如果使用firewalld(CentOS)

      bash
      复制
      下载

      复制代码
      sudo firewall-cmd --permanent --add-port=3306/tcp
      sudo firewall-cmd --reload
    • 如果使用ufw(Ubuntu)

      bash
      复制
      下载

      复制代码
      sudo ufw allow 3306/tcp
      sudo ufw reload
  4. 修改MySQL绑定地址

    编辑MySQL配置文件:

    bash
    复制
    下载

    复制代码
    # CentOS
    sudo vi /etc/my.cnf
    # Ubuntu
    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

    找到 bind-address 这一行,将其值从 127.0.0.1 修改为 0.0.0.0

    ini
    复制
    下载

    复制代码
    bind-address = 0.0.0.0

    保存后,重启MySQL服务:

    bash
    复制
    下载

    复制代码
    # CentOS
    sudo systemctl restart mysqld
    # Ubuntu
    sudo systemctl restart mysql

现在,您就可以从指定的IP地址远程连接到这台服务器上的MySQL数据库了。

关键词: 数据库远程访问MySQL配置防火墙配置


五、基本操作与故障排除
  • 登录MySQLmysql -u root -p

  • 查看所有数据库SHOW DATABASES;

  • 创建一个新数据库CREATE DATABASE myapp_db;

  • 选择使用一个数据库USE myapp_db;

常见问题:

  • 忘记root密码 :需要停止MySQL服务,并使用 --skip-grant-tables 参数启动后进行重置。

  • 无法远程连接:请依次检查:① 防火墙规则;② MySQL绑定地址;③ 远程用户的授权IP地址。

结语

通过以上步骤,您已经成功在云服务器 上安装并配置了一个生产环境级别的MySQL数据库。正确的MySQL配置是保障您网站或应用数据稳定的基石。

相关推荐
言之。2 小时前
TiDB分布式数据库技术架构概述
数据库·分布式·tidb
万事大吉CC2 小时前
SQL表设计与约束教程
数据库·sql
wanhengidc2 小时前
云手机能够流畅运行大型游戏吗
运维·服务器·游戏·智能手机·云计算
员大头硬花生2 小时前
七、InnoDB引擎-架构-后台线程
java·数据库·mysql
Ryan ZX2 小时前
etcd 高可用分布式键值存储
数据库·分布式·etcd
IT教程资源C3 小时前
(N_151)基于微信小程序校园学生活动管理平台
mysql·vue·前后端分离·校园活动小程序·springboot校园活动
研究司马懿3 小时前
【ETCD】ETCD——confd配置管理
数据库·golang·自动化·运维开发·etcd·argocd·gitops
..Cherry..3 小时前
Etcd详解(raft算法保证强一致性)
数据库·算法·etcd
繁华的地方不一定留下你的脚印3 小时前
ubuntu18.04版本配置静态IP并且可以上网(解决配置静态IP不能额上网的问题)
运维·服务器