奋斗
努力

阿里云Ubuntu如何安装两个mysql?

云计算

在阿里云Ubuntu上安装两个MySQL实例的方法

在阿里云Ubuntu服务器上安装并运行两个独立的MySQL实例是可行的,以下是详细步骤:

方法一:使用不同的端口和配置文件

  1. 安装第一个MySQL实例(默认安装)

    sudo apt update
    sudo apt install mysql-server
  2. 配置第一个实例

    • 默认配置文件在 /etc/mysql/my.cnf
    • 默认数据目录 /var/lib/mysql
    • 默认端口3306
  3. 安装第二个MySQL实例

    sudo mkdir -p /var/lib/mysql2
    sudo chown mysql:mysql /var/lib/mysql2
    sudo cp -R /etc/mysql /etc/mysql2
  4. 配置第二个实例

    • 编辑新配置文件 /etc/mysql2/my.cnf,修改以下参数:
      [mysqld]
      port = 3307
      datadir = /var/lib/mysql2
      socket = /var/run/mysqld/mysqld2.sock
      pid-file = /var/run/mysqld/mysqld2.pid
      log-error = /var/log/mysql/error2.log
  5. 初始化第二个实例

    sudo mysqld --defaults-file=/etc/mysql2/my.cnf --initialize --user=mysql
  6. 启动第二个实例

    sudo mysqld_safe --defaults-file=/etc/mysql2/my.cnf &

方法二:使用MySQL多实例功能

  1. 安装MySQL

    sudo apt install mysql-server
  2. 创建第二个实例的目录

    sudo mkdir -p /var/lib/mysql2
    sudo chown mysql:mysql /var/lib/mysql2
  3. 初始化第二个实例

    sudo mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql2
  4. 创建第二个实例的配置文件

    sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld2.cnf
  5. 修改第二个实例配置

    • 编辑 /etc/mysql/mysql.conf.d/mysqld2.cnf,修改:
      [mysqld]
      port = 3307
      datadir = /var/lib/mysql2
      socket = /var/run/mysqld/mysqld2.sock
      pid-file = /var/run/mysqld/mysqld2.pid
  6. 创建systemd服务文件

    sudo cp /lib/systemd/system/mysql.service /lib/systemd/system/mysql2.service
    • 修改 /lib/systemd/system/mysql2.service
      ExecStart=/usr/sbin/mysqld --defaults-file=/etc/mysql/mysql.conf.d/mysqld2.cnf
  7. 启动第二个实例

    sudo systemctl daemon-reload
    sudo systemctl start mysql2

连接不同实例

  • 第一个实例(默认):

    mysql -u root -p
  • 第二个实例:

    mysql -u root -p -P 3307 -S /var/run/mysqld/mysqld2.sock

注意事项

  1. 确保防火墙开放了第二个实例的端口(如3307)
  2. 每个实例需要独立设置root密码
  3. 资源消耗会加倍,确保服务器有足够内存
  4. 阿里云安全组需要配置允许第二个端口的访问

通过以上方法,您可以在阿里云Ubuntu服务器上成功运行两个独立的MySQL实例。

未经允许不得转载:云服务器 » 阿里云Ubuntu如何安装两个mysql?