mysql用户权限分配及主从同步复制,mysql用户权限
赋予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 的用户名是root,无密码,
slave:10.46.169.62 mysql5.5 slave 的用户名是root,无密码,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.sockmaser的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
- Slave_IO_Running: yes
- Slave_SQL_Running: Yes 如此就算是差不多了
这明显是就标点服务器不对称,单一好怎么3个 还有最后一位怎么能使逗号!!!!!!!!!!!!!!!!
主从复制理论上支持无穷大的从库个数,实际情况下,受服务器带宽和读写能力的影响
请参考mysql官方手册的建议:
理论上,通过使用单个主服务器/多从服务器设置,可以通过添加更多的从服务器来扩充系统,直到用完网络带宽,或者你的更新负载已经增长到主服务器不能处理的点。
在获得的收益开始吃平之前,为了确定可以有多少从服务器,以及可以将你的站点的性能提高多少,需要知道查询模式,并且要通过基准测试并根据经验确定一个典型的主服务器和从服务器中的读取(每秒钟读取量,或者max_reads)吞吐量和写(max_writes)吞吐量的关系。通过一个假设的带有复制的系统,本例给出了一个非常简单的计算结果。
假设系统负载包括10%的写和90%的读取,并且我们通过基准测试确定max_reads是1200 –2 × max_writes。换句话说,如果没有写操作,系统每秒可以进行1,200次读取操作,平均写操作是平均读操作所用时间的两倍,并且关系是线性的。我们假定主服务器和每个从服务器具有相同的性能,并且我们有一个主服务器和N个从服务器。那么,对于每个服务器(主服务器或从服务器),我们有:
reads = 1200 – 2 × writes
reads = 9 × writes / (N + 1) (读取是分离的, 但是写入所有服务器)
9 × writes / (N + 1) + 2 × writes = 1200
writes = 1200 / (2 + 9/(N+1))
最后的等式表明了N个从服务器的最大写操作数,假设最大可能的读取速率是每分钟1,200次,读操作与写操作的比率是9。
如上分析可以得到下面的结论:
· 如果N = 0(这表明没有复制),系统每秒可以处理大约1200/11 = 109个写操作。
· 如果N = 1,每秒得到184个写操作。
· 如果N = 8,每秒得到400个写操作。
· 如果N = 17,每秒得到480个写操作。