mysql同步账号创建
时间: 2023-08-02 21:42:33 浏览: 50
在 MySQL 中,可以通过以下步骤实现账号同步:
1. 在源数据库中创建要同步的用户,赋予相应的权限。
```
CREATE USER 'user'@'source_host' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'user'@'source_host';
```
其中,`user` 是要创建的用户名,`source_host` 是源数据库的主机名,`password` 是用户的密码,`database_name` 是要授权的数据库名。
2. 在目标数据库中创建相同的用户,赋予相应的权限。
```
CREATE USER 'user'@'target_host' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'user'@'target_host';
```
其中,`user` 是要创建的用户名,`target_host` 是目标数据库的主机名,`password` 是用户的密码,`database_name` 是要授权的数据库名。
3. 启用源数据库的二进制日志功能。
```
vi /etc/my.cnf
```
在 `[mysqld]` 段中添加以下配置:
```
log-bin=mysql-bin
binlog-format=ROW
```
4. 在源数据库中创建用于同步的账号,并授予 `REPLICATION SLAVE` 权限。
```
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
```
其中,`repl` 是用于同步的账号名,`password` 是账号的密码。
5. 在目标数据库中创建用于同步的账号,并授予 `REPLICATION SLAVE` 权限。
```
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
```
其中,`repl` 是用于同步的账号名,`password` 是账号的密码。
6. 在目标数据库中启动从服务器复制。
```
CHANGE MASTER TO
MASTER_HOST='source_host',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=4;
START SLAVE;
```
其中,`source_host` 是源数据库的主机名,`repl` 是用于同步的账号名,`password` 是账号的密码,`mysql-bin.000001` 是源数据库的二进制日志文件名,`4` 是日志文件的位置。
以上就是 MySQL 同步账号创建的步骤。