MySQL8主从复制:创建slave用户并赋权_服务器

-- 创建slave用户
CREATE USER 'atguigu_slave'@'%';
-- 设置密码
ALTER USER 'atguigu_slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
-- 授予复制权限
GRANT REPLICATION SLAVE ON *.* TO 'atguigu_slave'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

命令解释

这段 MySQL 语句用于创建一个专门用于复制的用户,并授予其必要的权限。以下是每个步骤的详细解释:

创建 slave 用户
-- 创建slave用户
CREATE USER 'atguigu_slave'@'%';
  • 1.
  • 2.

这条命令创建了一个新的 MySQL 用户 atguigu_slave,该用户可以从任何主机 (%) 登录。

设置密码
-- 设置密码
ALTER USER 'atguigu_slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  • 1.
  • 2.

这条命令设置了 atguigu_slave 用户的密码为 '123456',并指定了使用 mysql_native_password 身份验证插件来进行密码验证。

授予复制权限
-- 授予复制权限
GRANT REPLICATION SLAVE ON *.* TO 'atguigu_slave'@'%';
  • 1.
  • 2.

这条命令授予 atguigu_slave 用户复制权限。具体来说,REPLICATION SLAVE 权限允许用户从主服务器复制数据。ON *.* 表示授予这个权限可以应用于所有的数据库和表。

刷新权限
-- 刷新权限
FLUSH PRIVILEGES;
  • 1.
  • 2.

这条命令用于刷新 MySQL 的权限缓存,确保所做的更改立即生效。

总结

这段 SQL 语句序列完成了以下任务:

  1. 创建用户:
  • 创建了一个新的用户 atguigu_slave,该用户可以从任何主机登录。
  1. 设置密码:
  • 设置了 atguigu_slave 用户的密码为 '123456',并指定了使用 mysql_native_password 身份验证插件。
  1. 授予复制权限:
  • 授予了 atguigu_slave 用户复制权限,使其能够从主服务器上复制数据到从服务器。
  1. 刷新权限:
  • 刷新了权限缓存,确保新设置的权限立即可用。
注意事项
  • 安全性:
  • 使用简单密码如 '123456' 在生产环境中是不安全的。在实际应用中,你应该使用更复杂、更安全的密码。
  • 权限管理:
  • 确保只向真正需要的用户授予必要的权限。在这里,atguigu_slave 用户仅具有复制权限,这有助于限制潜在的安全风险。
  • 从服务器配置:
  • 在从服务器上,你需要配置复制源的连接信息(例如,主服务器的地址、用户名和密码),以便从服务器能够成功地从主服务器复制数据。

完成这些步骤后,你就可以使用 atguigu_slave 用户从主服务器设置复制到从服务器了。