在Linux上创建MySQL支持多实例是可能的
sudo apt update
sudo apt install mysql-server
/etc/mysql/
目录下。你可以使用以下命令创建多个配置文件:sudo mkdir /etc/mysql/instances
sudo cp /etc/mysql/my.cnf /etc/mysql/instances/instance1
sudo cp /etc/mysql/my.cnf /etc/mysql/instances/instance2
接下来,你需要编辑这些配置文件,以便为每个实例指定不同的端口、数据目录和其他相关设置。例如,在/etc/mysql/instances/instance1/my.cnf
文件中,你可以找到以下行:
[mysqld]
port = 3306
datadir = /var/lib/mysql
你可以将这些值更改为适合实例1的值,例如:
[mysqld]
port = 3307
datadir = /var/lib/mysql1
对于实例2,你可以将这些值更改为适合实例2的值,例如:
[mysqld]
port = 3308
datadir = /var/lib/mysql2
sudo mysql -u root -p -e "CREATE USER 'instance1user'@'localhost' IDENTIFIED BY 'password';"
sudo mysql -u root -p -e "GRANT ALL PRIVILEGES ON *.* TO 'instance1user'@'localhost';"
对于其他实例,你可以使用类似的命令创建新用户并授予其访问权限。只需将instance1user
和password
替换为适合实例的用户名和密码即可。
sudo mysqld --defaults-file=/etc/mysql/instances/instance1/my.cnf
对于其他实例,你可以使用类似的命令启动实例,只需将instance1
替换为适合实例的名称即可。
mysql
命令行客户端或其他MySQL客户端(如MySQL Workbench)。在连接时,你需要指定实例的地址、端口、用户名和密码。例如,要连接到实例1,你可以使用以下命令:mysql -u instance1user -p -h localhost -P 3307
这将连接到端口为3307的实例1,并使用instance1user
和相应的密码进行身份验证。对于其他实例,你可以使用类似的命令连接到实例,只需将instance1user
、password
、localhost
和3307
替换为适合实例的值即可。