背景介绍

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。本文介绍了在不同系统的云服务器中安装配置 MySQL。

CentOS

  1. 安装 MySQL

    使用 yum 安装。

    yum -y install mysql-server
    rpm -qa | grep mysql   # 检查 mysql 是否安装成功
    systemctl start mysqld.service  #查看 mysql 服务状态
  2. 启动 MySQL 服务

    systemctl start mysqld.service # 启动 mysql
    systemctl restart mysqld.service # 重启 mysql
    systemctl stop mysqld.service # 停止 mysql
    systemctl enable mysqld.service # 设置 mysql 开机启动

    MySQL 常用文件路径:

    • /etc/my.cnf 这是 mysql 的主配置文件。

    • /var/lib/mysql mysql 数据库的数据库文件存放位置。

    • /var/logs/mysql/mysqld.log 数据库的日志输出存放位置。

  3. 本地登录 MySQL

    • MySQL 启动后,有默认密码,可以通过下述命令来获取默认密码。

      grep "password" /var/log/mysql/mysqld.log
    • 若无密码,直接执行命令后回车即可登录。

      mysql -u root -p
  4. 修改密码并开启远程访问

    1. 登录 MySQL 后,需要重置 root 用户密码,否则无法继续操作。

      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL1234';
    2. 开启 root 用户远程访问。

      mysql> USE mysql;
      mysql> UPDATE user SET host = '%' WHERE user = 'root' ;
      mysql> FLUSH PRIVILEGES;
      mysql> SELECT host,user FROM user;
  5. 关闭主机内部防火墙。

    关闭主机防火墙,Active 为 dead 即为关闭状态。

    systemctl status firewalld.service   # 查看防火墙状态
    systemctl stop firewalld.service     # 关闭防护墙
    systemctl start firewalld.service    # 打开防火墙
    systemctl enable firewalld.service   # 开启防火墙
    systemctl disable firewalld.service  # 禁用防火墙
  6. 远程客户端连接测试

    1. 远程客户端连接,需要在主机绑定的安全组处添加相应的规则,添加之后点击上方的应用修改。点击主机 id 进入主机详情页,点击绑定资源的安全组,即可跳转至安全组。

      bestp linux mysql install1
    2. 点击添加规则,添加端口并提交后,点击应用修改。

      bestp linux mysql install2
    3. 通过云服务器绑定的公网 ipv4 进行连接,已正常连接。

      bestp linux mysql install3

Ubuntu

  1. 安装 MySQL

    使用 apt-get 命令安装,可以切换到 root 用户进行操作。在安装 MySQL 时,会弹出密码输入界面,输入两次密码即可。

    apt-get update
    apt-get install mysql-server
    systemctl status mysql.service #查看 mysql 服务状态
  2. 启动 MySQL 服务

    systemctl start mysql.service #启动 mysql
    systemctl restart mysql.service #重启 mysql
    systemctl stop mysql.service #停止 mysql
    systemctl enable mysql.service #设置 mysql 开机启动
  3. 设置服务监听地址

    修改服务监听地址为 0.0.0.0,后重启 MySQL 服务。

    vi /etc/mysql/mysql.conf.d/mysqld.cnf
    bind-address            = 0.0.0.0  #设置监听地址为 0.0.0.0
    systemctl restart mysql.service #重启 mysql
    netstat -lntp | grep mysql  #查看监听地址为 0.0.0.0
    bestp linux mysql install4

    此时可以看到已经监听 0.0.0.0 地址。

    bestp linux mysql install5
  4. 本地登录 MySQL

    直接执行命令后回车即可登录。

    mysql -u root -p
  5. 开启远程访问。

    登录后开启远程访问。

    mysql> USE mysql;
    mysql> UPDATE user SET host = '%' WHERE user = 'root' ;
    mysql> FLUSH PRIVILEGES;
    mysql> SELECT host,user FROM user;
  6. 关闭主机内部防火墙 ufw。

    关闭主机防火墙,Active 为 dead 即为关闭状态

    ufw status   # 查看防火墙状态
    ufw enable   # 开启防火墙
    ufw disable  # 禁用防火墙
    systemctl status iptables   # 查看 iptables 状态
    systemctl stop iptables     # 关闭 iptables
    systemctl start iptables    # 打开 iptables
    systemctl enable iptables   # 开启 iptables
    systemctl disable iptables  # 禁用 iptables
  7. 远程客户端连接测试

    1. 远程客户端连接,需要在主机绑定的安全组处添加相应的规则,添加之后点击上方的应用修改。点击主机 id 进入主机详情页,点击绑定资源的安全组,即可跳转至安全组。

      bestp linux mysql install6
    2. 点击添加规则,添加端口并提交后,点击应用修改。本地客户端连接,需要在主机绑定的安全组处添加相应的规则,添加之后点击上方的应用修改。

      bestp linux mysql install7
    3. 通过主机绑定的公网 ipv4 进行连接,已正常连接。

      bestp linux mysql install8

Windows

  1. 下载安装 MySQL

    1. 进入官网找到所需的安装包:https://dev.mysql.com/ ,路径:MySQL Downloads — MySQL Community Server-- Microsoft Windows,或者直接点击链接:https://dev.mysql.com/downloads/mysql/ 。

      bestp linux mysql install9
      bestp linux mysql install10
    2. 下载完成后,将 zip 包解压到相应目录,本文解压至 C:\mysql 下。

      bestp linux mysql install11
    3. 然后在 C:\mysql\mysql-8.0.23-winx64 目录下添加配置文件 my.ini,输入以下信息,C:\mysql\data 需要提前创建。也可以自行添加所需的参数。

      [mysqld]
      basedir = C:\mysql\mysql-8.0.23-winx64  #mysql 的安装目录
      datadir = C:\mysql\data  #设置数据存放目录,也可以不设置
      bind-address = 0.0.0.0  #设置监听地址为 0.0.0.0
      port = 3306  #设置端口为 3306
    4. 执行 win +R ,打开运行,使用管理员权限打开 cmd。

      bestp linux mysql install12
    5. 切换至 bin 目录下。

      cd C:\mysql\mysql-8.0.23-winx64\bin
    6. 初始化数据库。

      mysqld --initialize --console

      由于部分镜像未安装 vc++运行库,导致无法初始化,可以通过这个链接 vc_redist.x64.exe 下载 x64 的运行包,也可以在这个链接处自行下载 最新支持的 Visual C++ 下载

      bestp linux mysql install13

      此时已初始化成功,红框处为 root 用户的默认密码。

    7. 执行安装命令并启动。

      mysqld --install
      net start mysql
    8. 执行 netstat 命令可以看是否正常监听 0.0.0.0,下图为监听状态。

      netstat -ano | findstr 3306
      bestp linux mysql install14
  2. 本地登录 MySQL。

    1. 使用默认密码登录 MySQL。

      mysql -u root -p
      bestp linux mysql install15
    2. 登录后需要重置密码,参考命令。

      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL1234';
  3. 开启远程访问。

    登录后开启远程访问。

    mysql> USE mysql;
    mysql> UPDATE user SET host = '%' WHERE user = 'root' ;
    mysql> FLUSH PRIVILEGES;
    mysql> SELECT host,user FROM user;
  4. 关闭主机内部防火墙。

    关闭防火墙,点击 开始 > 服务器管理器 > 本地服务器 > Windows Defender 防火墙,将防火墙关闭。

    bestp linux mysql install16
  5. 远程客户端连接测试。

    1. 远程客户端连接,需要在主机绑定的安全组处添加相应的规则,添加之后点击上方的应用修改。点击主机 id 进入主机详情页,点击绑定资源的安全组,即可跳转至安全组。

      bestp linux mysql install17
    2. 点击添加规则,添加端口并提交后,点击应用修改。

      bestp linux mysql install18
    3. 通过云服务器绑定的公网 IPv4 进行连接,已正常连接。

      bestp linux mysql install19