我想在同一台机器上使用数据库复制。所以我需要创建两个mysql实例。如果有人描述如何获取服务器ID,将会很有帮助。
答案 0 :(得分:0)
我们需要为datadir和log文件夹(如果使用)创建新目录。我们还需要为这些文件夹分配适当的权限:
mkdir /var/lib/mysql2
chown -R mysql.mysql /var/lib/mysql2/
mkdir /var/log/mysql2
chown -R mysql.mysql /var/log/mysql2
接下来我们需要一个单独的配置文件。我们可以先复制现有的并更改所需的值。这个例子是在一台debian机器上进行的,它保存了/etc/mysql/my.cnf下的mysql配置。我们只需复制此文件夹并从那里进行修改:
cp -R /etc/mysql/ /etc/mysql2
接下来我们需要一个单独的配置文件。我们可以先复制现有的并更改所需的值。这个例子是在一台debian机器上进行的,它保存了/etc/mysql/my.cnf下的mysql配置。我们只需复制此文件夹并从那里进行修改:
如果您使用redhat变体包,则配置文件位于
下 /etc/my.cnf by default and you can just copy it directly:
接下来,我们需要编辑新的配置文件,至少更新mysql端口(默认为3306),pid和socket与默认端口不同,并将数据和日志文件夹指向创建的之前。在我的debian机器上,这可以通过以下方式完成:
cd /etc/mysql2/
sed -i 's/3306/3307/g' my.cnf
sed -i 's/mysqld.sock/mysqld2.sock/g' my.cnf
sed -i 's/mysqld.pid/mysqld2.pid/g' my.cnf
sed -i 's/var\/lib\/mysql/var\/lib\/mysql2/g' my.cnf
sed -i 's/var\/log\/mysql/var\/log\/mysql2/g' my.cnf
最后我们需要初始化默认的dbs:
mysql_install_db --user=mysql --datadir=/var/lib/mysql2/