Problem setting up MySQL cluster

Discussion in 'HOWTO-Related Questions' started by rwillie6, Nov 8, 2007.

  1. rwillie6

    rwillie6 New Member

    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?
     
    Last edited: Nov 10, 2007
  2. falko

    falko Super Moderator Howtoforge Staff

    Did you accidentally delete that table? I'd try to copy it over from a working MySQL database.
     
  3. rwillie6

    rwillie6 New Member

    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?
     
  4. rwillie6

    rwillie6 New Member

    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!
     

Share This Page