前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql用户权限分配及主从同步复制

mysql用户权限分配及主从同步复制

作者头像
全栈程序员站长
发布2022-07-14 16:02:48
1.4K0
发布2022-07-14 16:02:48
举报

大家好,又见面了,我是全栈君

赋予wgdp用户查询权限:

grant select on wg_dp.* to ‘wgdp’@’%’ IDENTIFIED BY ‘weigou123’;

grant all privileges on *.* to ‘yangchao’@’%’ IDENTIFIED BY ‘weigou123’

查询mysql其它用户权限:

show grants for wgdp;

取消wgdp用户权限:

revoke all on *.* from wgdp;

PS: grant, revoke 用户权限后,该用户仅仅有又一次连接 MySQL 数据库,权限才干生效。

权限范围:

1.select、insert、update和delete权限 同意你在一个数据库现有的表上实施操作,是基本权限 2.alter权限同意你使用ALTER TABLE 3.create和drop权限同意你创建新的数据库和表,或抛弃(删除)现存的数据库和表 假设你将mysql数据库的drop权限授予一个用户,该用户能抛弃存储了MySQL存取权限的数据库!

mysql5.5后 mysql的配置文件my.cnf中的主从配置的一些字段已经被废弃,开启主从的步骤:

1.准备工作,有两个linux主机

master:10.209.112.58 mysql5.5 master 的username是root,无password,

slave:10.46.169.62 mysql5.5 slave 的username是root,无password,slave登录master进行同步的账号是wgdp_syc;

同意slave登录master:GRANT ALL PRIVILEGES ON *.* TO ‘wgdp_syc‘@’10.46.169.62‘ IDENTIFIED BY ‘syc1qaz2wsx’ WITH GRANT OPTION; flush privileges;

2.主:

配置master的my.cnf:

[mysqld]

#master configure

server-id = 1

log-bin=mysql-bin

binlog-do-db=master

binlog-ignore-db=mysql

#master configure

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

maser的id应该是1,说明log文件夹,同步的数据库,不同意同步的数据库

然后在Master上添加一个账号专门用于同步,例如以下: GRANT REPLICATION SLAVE ON *.* TO rep@192.168.74.227 IDENTIFIED BY ‘hello’; 假设想要在Slave上有权限运行”LOAD TABLE FROM MASTER” 或 “LOAD DATA FROM MASTER”语句的话,必须授予全局的 FILE 和 SELECT 权限: GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO rep@192.168.74.227 IDENTIFIED BY ‘hello’; 接下来备份Master上的数据,首先运行例如以下SQL语句: FLUSH TABLES WITH READ LOCK; 然后把同步的数据tar打包,然后scp到227那台机器上,解压,注意权限问题 整个步骤完毕之后,运行 UNLOCK TABLES

3.从:

配置slave的my.cnf:

[mysqld]

#configure master-slave

server-id=2

#master-host=192.168.74.225

#master-user=rep

#master-password=hello

replicate-ignore-db=mysql

replicate-do-db=master

#configure master-slave

注意到slave的配置里 master-host的三个字段被凝视掉了,由于5.5以后已经废弃这个配置,这三个字段的设置通过登陆slave的mysql后,运行下面语句:

mysql> CHANGE MASTER TO MASTER_HOST=’ 10.209.112.58‘,MASTER_USER=’wgdp_syc’,MASTER_PASSWORD=’ syc1qaz2wsx‘,MASTER_LOG_FILE=’mysql-bin.000001’,MASTER_LOG_POS=0;

4.启动主从 mysql后,通过下述命令检验是否有问题:

从库:mysql > SHOW SLAVE STATUS\G;

  1. Slave_IO_Running: yes
  2. Slave_SQL_Running: Yes 如此就算是差点儿相同了

mysql数据库同步出错,跳过:

mysql> slave stop;

Query OK, 0 rows affected (0.01 sec)

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;

Query OK, 0 rows affected (0.00 sec)

mysql> slave start;

Query OK, 0 rows affected (0.00 sec)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117942.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年12月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档