本帖最后由 maria 于 2015-12-19 20:39 编辑
今天做mysql的主从配置管理,书上和视频上都讲的是在一台虚拟机上装两个mysql实验,因为我的电脑配置还行,跑两个虚拟机不成问题,所以我就准备在两台虚拟机上做配置,一直按照视频上讲的做的,做的最后。在从上输入命令出现下面的界面
也就是连不到主。
我就检查了一遍主从上的配置文件,发现没有问题。然后突然想到主上的repl用户的host用的是localhost,会不会是因为这个配置找不到呢?
然后我进到主的mysql里用sql语句把住的repl用户的host改成主的ip结果在从查询还是报错,折腾了半天,重启mysql,重启虚拟机都试了,还是没有用。
最后抱着试一试的想法,新建了一个host是从的ip的repl用户然后在从查询居然通过了
这是我的主上建立的两个repl用户
所以,如果有要试验双机器测试主从配置的话,一定在这里要设置清楚ip!不是主ip,而是从ip
通过这次排障让我明白了,mysql里的用户的host并不是针对本机而言的,而是对使用mysql的机器而言的
另外还有一点:用命令查询的时候,
这个不管能不能连通,下面都会报一个错误:
把语句后面的;去掉再运行就不会报错了
今天做mysql的主从配置管理,书上和视频上都讲的是在一台虚拟机上装两个mysql实验,因为我的电脑配置还行,跑两个虚拟机不成问题,所以我就准备在两台虚拟机上做配置,一直按照视频上讲的做的,做的最后。在从上输入命令
- show slave status\G;
也就是连不到主。
我就检查了一遍主从上的配置文件,发现没有问题。然后突然想到主上的repl用户的host用的是localhost,会不会是因为这个配置找不到呢?
然后我进到主的mysql里用sql语句把住的repl用户的host改成主的ip
- update user set host='192.168.199.140' where user='repl';
最后抱着试一试的想法,新建了一个host是从的ip的repl用户
- grant replication slave on *.* to 'repl'@'192.168.199.171' identified by '111111';
这是我的主上建立的两个repl用户
所以,如果有要试验双机器测试主从配置的话,一定在这里要设置清楚ip!不是主ip,而是从ip
通过这次排障让我明白了,mysql里的用户的host并不是针对本机而言的,而是对使用mysql的机器而言的
另外还有一点:用命令查询的时候,
- show slave status\G;
把语句后面的;去掉再运行就不会报错了
编辑回复