MySQL源码多实例安装是指在同一台服务器上安装多个独立的MySQL实例,每个实例都有自己的配置文件、数据目录和端口。这种安装方式可以充分利用服务器资源,提高数据库的并发处理能力和可用性。
以下是基于端口的MySQL源码多实例安装示例:
sudo apt-get update
sudo apt-get install -y build-essential cmake libncurses5-dev libssl-dev
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26.tar.gz
tar -zxvf mysql-8.0.26.tar.gz
cd mysql-8.0.26
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_BOOST=/usr/local/boost
make
sudo make install
sudo mkdir -p /data/mysql/{3306,3307,3308}/data
sudo chown -R mysql:mysql /data/mysql
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3307/data
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3308/data
sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/mysql/my.cnf
sudo cp /etc/mysql/my.cnf /etc/mysql/my3306.cnf
sudo cp /etc/mysql/my.cnf /etc/mysql/my3307.cnf
sudo cp /etc/mysql/my.cnf /etc/mysql/my3308.cnf
# 修改每个实例的配置文件
sudo sed -i 's/3306/3306/' /etc/mysql/my3306.cnf
sudo sed -i 's/3306/3307/' /etc/mysql/my3307.cnf
sudo sed -i 's/3306/3308/' /etc/mysql/my3308.cnf
sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/mysql/my3306.cnf &
sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/mysql/my3307.cnf &
sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/mysql/my3308.cnf &
问题描述:启动实例时提示端口已被占用。
解决方法:检查并修改配置文件中的端口号,确保每个实例使用不同的端口。
问题描述:启动实例时提示数据目录权限不足。
解决方法:确保数据目录的权限和所有者正确,通常为mysql:mysql
。
问题描述:启动实例时提示配置文件错误。
解决方法:检查配置文件中的参数是否正确,特别是数据目录和端口号。
通过以上步骤,你可以在同一台服务器上成功安装多个MySQL实例,并根据需要进行配置和管理。
领取专属 10元无门槛券
手把手带您无忧上云