我有一个具有通用NFS挂载的22机器集群。在每台机器上,我都可以启动一个新的MySQL实例。我创建了一个包含约7100万个条目的表,并开始了一项ADD INDEX操作。已经超过12小时,操作仍在进行中。因此,我登录到集群中其他机器上的机器后,使用以下命令在该机器上的MySQL守护程序上启动了一个新实例:
ADD INDEX
mysqld_safe --user=username
然后在同一台计算机上创建一个MySQL客户端以连接到数据库。问题是,我使用的是我用来在第一台计算机上启动客户端的确切语句:
mysql --socket=/homes/username/mysql/mysql/tmp/mysql.sock -u root -p
我能够按预期看到该客户端的所有数据库和表(由于底层的NFS挂载)。现在,如果要创建一个新表或更改一个表(当前不添加索引的表除外),我有两个问题:
这将无法稳定运行mysqld不是为此而设计的。另外,NFS开销也不理想。
您可能需要创建一堆从属mysqld实例并并行化客户端访问。