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

云计算

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

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

方法一:使用不同的端口运行两个MySQL实例

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

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

    sudo mkdir -p /var/lib/mysql2
    sudo chown mysql:mysql /var/lib/mysql2
    sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql2
  3. 创建第二个实例的配置文件

    sudo cp /etc/mysql/my.cnf /etc/mysql/my2.cnf
    sudo nano /etc/mysql/my2.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
  4. 启动第二个实例

    sudo mysqld_safe --defaults-file=/etc/mysql/my2.cnf &
  5. 设置root密码(第二个实例)

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

    在MySQL提示符下:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
    FLUSH PRIVILEGES;

方法二:使用MySQL多实例管理工具(推荐)

  1. 安装MySQL多实例工具

    sudo apt install mysql-server mysql-multi
  2. 配置多实例

    sudo nano /etc/mysql/multi.cnf

    添加类似以下内容:

    [mysqld1]
    datadir = /var/lib/mysql
    port = 3306
    socket = /var/run/mysqld/mysqld.sock
    pid-file = /var/run/mysqld/mysqld.pid
    
    [mysqld2]
    datadir = /var/lib/mysql2
    port = 3307
    socket = /var/run/mysqld/mysqld2.sock
    pid-file = /var/run/mysqld/mysqld2.pid
  3. 初始化第二个实例

    sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql2
  4. 启动实例

    sudo service mysql start 1
    sudo service mysql start 2

注意事项

  1. 确保阿里云安全组规则允许两个端口的访问(3306和3307)
  2. 每个实例需要独立的内存配置,避免资源冲突
  3. 考虑使用systemd管理多个实例服务
  4. 备份数据时要注意区分不同实例的数据目录

连接不同实例

  • 第一个实例(默认):

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

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

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

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