Each slave must connect to the master using a MySQL user name
        and password, so there must be a user account on the master that
        the slave can use to connect. Any account can be used for this
        operation, providing it has been granted the
        REPLICATION SLAVE privilege. You
        may wish to create a different account for each slave, or
        connect to the master using the same account for each slave.
      
        You need not create an account specifically for replication.
        However, you should be aware that the user name and password
        will be stored in plain text within the
        master.info file (see
        Section 16.2.2.2, “The Slave Status Files”). Therefore, you may want to
        create a separate account that has privileges only for the
        replication process, to minimize the possibility of compromise
        to other accounts.
      
        To create a new acccount, use CREATE
        USER. To grant this account the privileges required
        for replication, use the GRANT
        statement. If you create an account solely for the purposes of
        replication, that account needs only the
        REPLICATION SLAVE privilege. For
        example, to set up a new user, repl, that can
        connect for replication from any host within the
        mydomain.com domain, issue these statements
        on the master:
      
mysql>CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';
See Section 12.4.1, “Account Management Statements”, for more information on statements for manipulation of user accounts.


User Comments
GRANT REPLICATION SLAVE ON *.*
-> TO 'repl'@'remotehost.mydomain.com' IDENTIFIED BY 'slavepass';
I had to use only the hostname of the slave.
The host that you use for this GRANT statement will vary depending on the reverse lookup of the host you are using for replication. In my case this will be read from my /etc/hosts in the order that hosts are listed. So if you have in your /etc/hosts
192.168.1.3 replicant.example.com replicant
It will resolve differently than
192.168.1.3 replicant replicant.example.com
Also, if you change this after attempting to start replication, you will need to FLUSH HOSTS to get the updated /etc/hosts to affect the host cache in mysql.
Add your own comment.