天天看点

Incorrect usage of DB GRANT and GLOBAL PRIVILEGES

在执行MySQL复制的时:为主服务器创建用户以便从服务器连接,出现该错误:

<code>GRANT</code> <code>REPLICATION SLAVE </code><code>ON</code> <code>a_database.* </code><code>to</code> <code>'repl1'</code><code>@</code><code>'192.168.1.88'</code> <code>IDENTIFIED </code><code>BY</code> <code>'slavepass'</code><code>;</code>

之所以指定数据库我是希望能只复制这个数据库而忽略其他(已创建的或今后会创建的)数据库。

也可以在配置文件(/etc/my.cnf)中(或启动时指定该参数)来指定:

--replicate-do-db=数据库名

注意:从服务器限制默认数据库的语句的复制。要指定多个数据库,应多次使用该选项,每个数据库使用一次。

原因:是该权限(REPLICATION SLAVE)是一个全局权限(Global privilege),不能单独指定给数据库级别(database level)。

继续阅读