linux – 在单个Ubuntu服务器上运行MySQL的多个实例
是否可以在Ubuntu服务器上安装多个
MySQL Servers实例,就像我在Windows Server上可以做的那样?
目标是在一个Ubuntu Server中安装10个MySQL Server实例,每个MySQL Server都有自己的端口号和IP地址. 解决方法
这绝对是可能的.
https://dev.mysql.com/doc/refman/5.7/en/multiple-unix-servers.html是一个很好的参考.
备选方案#1: 以下脚本未经过测试,但可以让您了解需要执行的操作.它循环遍历10个MySQL服务器,并复制一个单独的配置,创建一个单独的用户和数据目录,并将端口号从3306增加到3317.确保通过rc.local将IP地址更改为所需的IP,在运行rc.local或重新启动服务器之前. 还要确保在性能利用率方面配置合理的设置,以便立即处理所有这些服务器.可能存在与ACL的冲突,例如SELinux或AppArmor.如果您遇到此解决方案的问题但无法弄清楚,请发表评论. mv /etc/rc.local /etc/rc.local.bak printf '%sn' '#!/bin/bash' > /etc/rc.local chmod 0755 /etc/rc.local cd /etc/mysql port=3306 for i in {1..10} do cp my.cnf my-${port}.cnf sed -i 's/socket.*/socket=/var/run/mysqld/mysqld-${port}.sock/' my-${port}.cnf echo "mysqld_safe --defaults-file=/usr/local/mysql/my-${port}.cnf --bind-address=127.0.0.${i} --port=$port --datadir=/var/lib/mysql-${port} " >> /etc/rc.local useradd -d /nonexistent -s /bin/false -c "MySQL server listening on ${port}" mkdir -m 0700 /var/lib/mysql-${port} mysql_install_db --user=mysql --basedir=/var/lib/mysql-${port} --datadir=/var/lib/mysql-${port}/data port=$(expr $port + 1) done echo 'exit 0' >> /etc/rc.local mv my.cnf my.cnf.bak update-rc.d -f mysql remove 备选方案#2: 备选方案#3: 我希望这有帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |