Chinaunix首页 | 论坛 | 博客
  • 博客访问: 430049
  • 博文数量: 53
  • 博客积分: 2265
  • 博客等级: 大尉
  • 技术积分: 574
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-15 16:50
文章分类

全部博文(53)

文章存档

2019年(1)

2018年(2)

2016年(2)

2015年(1)

2014年(6)

2013年(5)

2012年(7)

2011年(16)

2010年(13)

分类: 系统运维

2013-01-19 16:17:51

ERROR 1227 (42000): Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation


转:http://466694351.blog.163.com/blog/static/1771023220095289918229/



mysql主从服务器,又名为mysql数据库镜像,可以提到数据的安全性和提到整体的速度。同步数据库,信息不光存储在一台服务器上,主从的任何的一台服务器上都存在相同的数据,这样就提到了数据的安全性。

配置环境:
CentOS5.3,FreeBSD7.2 都安装了mysql5.0的数据库。
配置过程:
首先要确定那台为master,在这里我用freebsd这台机器来做master数据库。
在主mysql数据库服务器上以root用户登录mysql数据库,添加一个用户。
mysql> grant replication slave on *.* to 的IP或者域名 identified by 'passwrod';
添加成功,退出。
关闭服务器。
root# /usr/local/etc/rc.d/mysql-server stop
修改配置文件 /etc/my.cnf
[mysqld]
log-bin=masters
server-id=1
使用 tar备份数据库 
root# cd /var/db/
root# tar zcvf mysql.tar.gz mysql
然后使用sftp命令把mysql.tar.gz上传到slave中,把主数据库服务器的数据拷贝到从数据库服务器中做为从数据库的初始状态。
重新启动mysql。
然 后,我们开始在从服务器上进行操作了,第一步要把mysql.tar.gz主数据库备份文件放到从服务器mysql数据库根目录下首先要清除原有 msyql数据库文件,然后打包把mysql.tat.gz内的数据库文件安装成从数据库的数据库文件。msyql rpm包安装的数据库目录为/var /lib/mysql目录。
接下来,修改mysql配置文件
直接去掉server-id = 2,的注释,
编辑master-user= username
master-password = passwrod

保存退出
然后使用刚才我们添加的用户密码登入到master数据库中查看,
mysql> show master status;
查看主数据库的日志是否启用,如果成功出现一张列表,里面有file和postion的内容,说明日志成功启动。如果日志没有启用,在根据提示来修改。
配置成功后,就可以启动从服务器了:
slave start;
我们可以在主数据库下,新建数据库,然后我们可以在从数据库下使用show databases;命令即可以查看到,说明数据库同步成功!!
实验期间遇到了个错误提示为:
mysql> show master status;
ERROR 1227 (42000): Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation
解决办法:
mysql> grant super on *.* to [email=username@Slvae]username@Slvae[/email] IP;
 
非常的简单。高手不要嘲笑。


MySQL主从服务器无法同步问题,slave 服务器,查看 : show slave status; 发现Master_Log_File和master服务器不一致,于是用change来修改,

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 |       98 |              |                  | 

+------------------+----------+--------------+------------------+

mysql> slave stop;

mysql> change master to Master_Log_File='mysql-bin.000001',Master_Log_Pos=98;

mysql> slave start;

mysql> show slave status\G

这样,在MySQL4.1的slave服务器下,可手动同步下:

mysql> load data from master;




阅读(4443) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~