I was following the HowTo for setting up a mysql cluster on 4 machines but hit an error on the second page when starting up the mysql server on the data nodes. Here's my setup: mysql1 -> lb1 & mgm node mysql2 -> data node 1 mysql3 -> data node 2 mysql4 -> lb2 I'm using mysql 5.0.45. All machines had only a base install of Fedora 7 to start with. Before starting the How To, I removed the default MySQL that comes with Fedora via "yum remove mysql" so I don't think it could be a conflict causing the problem. I got the management node setup and running fine. Here is my config.ini: [ndbd default] NoOfReplicas=2 DataDir=/var/lib/mysql-cluster [mysqld default] [ndb_mgmd default] [tcp default] # Section for the cluster management node [ndb_mgmd] # IP address of the management node (this system) HostName=mysql1 # Section for the storage nodes [ndbd] # IP address of the first storage node HostName=mysql2 [ndbd] # IP address of the second storage node HostName=mysql3 # one [MYSQLD] per storage node [mysqld] [mysqld] I then proceeded to setup mysql2 (data node1). Here is my my.cnf for mysql2: [mysqld] ndbcluster ndb-connectstring=mysql1 [mysql_cluster] ndb-connectstring=mysql1 All of the config files actually reference by ip, and I have verified the correct ips, but I removed the ips for this post. I've disabled SELinux, and the firewalls for the time being to rule out those as a cause, with no change. Here's the problem, when I try to start mysql.server after ndbd --initial (the first time), or just ndbd (later time), I receive this output: [root@pol-mysql-3 mysql-cluster]# service mysql.server start Starting MySQL/etc/init.d/mysql.server: line 159: kill: (3180) - No such process [FAILED] Also, attempting to star the server with: [root@pol-mysql-3 mysql-cluster]# /usr/local/mysql/bin/mysqld_safe --user=mysql & [2] 3220 [1] Exit 127 bin/mysqld_safe --user=mysql [root@pol-mysql-3 mysql-cluster]# nohup: ignoring input and redirecting stderr to stdout Starting mysqld daemon with databases from /usr/local/mysql/data STOPPING server from pid file /usr/local/mysql/data/pol-mysql-3.pid 071107 19:48:56 mysqld ended Ends up hanging after that line, but adds the following to /usr/local/mysql/data/mysql2.err: 071107 19:52:41 mysqld started nohup: ignoring input 071107 19:52:41 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... 071107 19:52:41 InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 0 43655. InnoDB: Doing recovery: scanned up to log sequence number 0 43655 071107 19:52:41 InnoDB: Started; log sequence number 0 43655 071107 19:52:41 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 071107 19:52:41 mysqld ended Any ideas? What other information could I include to help diagnose the problem?
Falko, I don't think I deleted the table. In fact, I haven't actually started up the MySQL server yet. This was a fresh install and the first time I started it up that's what happened. This was on page two of your tutorial right after trying to start the MySQL server on the data node for the first time. Is it possible the table wasn't created by the installer script in the first place? How do I check whether the table exists?
Update: solved! Here's what happened: My machines have 2 Intel Xeon CPUs. I saw Intel, and so I decided to use the version of MySQL compiled with the Intel CC compiler, which are supposed to perform better on Intel processors. I didn't figure that would affect this, but it did. Using just the gclibc23 version starts up first try!