背景介绍

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