您好,您说的“telnet 3306” 可以直接执行么?naughty@ns:/etc/mysql$ telnet 3306 Trying 0.0.12.234... telnet: Unable to connect to remote host: Invalid argument这个是什么意思?
您好。 naughty@ns:/etc/mysql$ telnet localhost 3306 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. D 5.1.41-3ubuntu12.1-logJZ|!+R<uZ!AtGFhYdjgIr(Connection closed by foreign host. 这个执行结果是什么意思呢?
你按照下面的操作步骤看看 1:在A机器上直接登录MYSQL,然后SHOW VARIABLES LIKE '%PORT%',看看用的是哪个端口。或者在配置文件的MYSQLD下的PORT参数,看下是多少,如果不是3306,那么你B里指定的MASTER的端口肯定就是错误的。2:确定能够登录A本机后,看下tongbu这个账号的权限是否足够 mysql> show grants for 'tongbu';3:在B机登录A机,通过tongbu这个账号。4:在B机上操作1,2,3步,确定都正常。
MySql数据库同步复制 测试版本:MYSQL 5.1.42 WINDOWS版本 该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。 数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(windows下为my.ini,Unix/Linux下为my.cnf) 1、实施环境: 操作系统:2台WINDOWS XP mysql:mysql-5.1.42 SvrA ip:192.168.1.10(主端) SvrB ip:192.168.1.11(从端) 2、配置方法 Demo 1:主从模式[Master->Slave]:A->B =====step 1:分别在SvrA、SvrB上配置同步DB及Account===== Step A:SvrA上配置 1.增加一个用户最为同步的用户帐号: GRANT ALL ON *.* TO backup@'192.168.1.11' IDENTIFIED BY '123’; 在主上增加一个用户名称为BACKUP,密码为123,访问IP为从的IP地址 2.增加一个数据库作为同步数据库: create database backup; Step B:SvrB上配置 1.增加一个用户最为同步的用户帐号: GRANT FILE ON *.* TO backup.@'192.168.1.10' IDENTIFIED BY '123’; 在从上增加一个用户名称为BACKUP,密码为123,访问IP为主的IP地址 2.增加一个数据库作为同步数据库: create database backup; ====step 2:配置Master、Slave参数====== 主从模式:A->B即 SvrA为master ,SvrB为slave 1、修改SvrA 中mysql的my.cnf文件。在mysqld配置项中加入下面配置: server-id=1 log-bin=D:\log\mysqllog binlog-do-db=backup 注 Log-bin #设置需要记录log 可以设置log-bin=/Data/logs/mysqllog 设置日志文件的目录[其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件]。 binlog-do-db=backup #指定需要日志的数据库 配置完后重起数据库服务。NET STOP MYSQL NET START MYSQL 用show master status 命令看日志情况。 2、修改SvrB中 mysql的my.cnf文件。在mysqld配置项中加入下面配置: server-id=2 master-host=192.168.1.10 master-user=backup#同步用户帐号 master-password=123 master-port=3306 master-connect-retry=10 预设重试间隔10秒 replicate-do-db=backup 告诉slave只做backup数据库的更新 配置完后重起数据库 用show slave status看同步配置情况。 注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info 测试:在主端建表A,在从端SHOW TABLES 能看到A 在A添加一条记录,在从端SELECT * FROM A能看到 所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。 Demo 2、双机互备模式。 如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。 在A的配置文件中 mysqld 配置项加入以下设置: master-host=192.168.1.11 master-user=backup master-password=123 replicate-do-db=backup master-connect-retry=10 在B的配置文件中 mysqld 配置项加入以下设置: log-bin=D:\log\mysqllog binlog-do-db=backup 注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start 重起主从的服务,则可以实现双向的热备。 测试通过。网络上找的同步方法。
你好。好像是您说的这个问题,mysql> show grants for 'tongbu'; ERROR 1141 (42000): There is no such grant defined for user 'tongbu' on host '%'这是我运行的结果。是因为没有给tongbu这个用户相应的权限吧?
这个是另外的一个运行结果。 mysql> mysql> show grants for 'tongbu'@'192.168.1.207'; +----------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for [email protected] | +----------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'tongbu'@'192.168.1.207' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' WITH GRANT OPTION | +----------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)应该是给了tongbu这个用户权限了的。
您好。您给我的第三条建议的结果如下:min@min-laptop:/var/log$ mysql -h 192.168.1.202-u tongbu -p 123456 mysql Ver 14.14 Distrib 5.1.36, for pc-linux-gnu (i686) using EditLine wrapper Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license 。 。 Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf The following groups are read: mysql client The following options may be given as the first argument: --print-defaults Print the program argument list and exit --no-defaults Don't read default options from any options file --defaults-file=# Only read default options from the given file # --defaults-extra-file=# Read this file after the global files are readVariables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) --------------------------------- ----------------------------- auto-rehash TRUE character-sets-dir (No default value) column-type-info FALSE comments FALSE compress FALSE debug-check FALSE 。 。 i-am-a-dummy FALSE connect_timeout 0 max_allowed_packet 16777216 net_buffer_length 16384 select_limit 1000 max_join_size 1000000 secure-auth FALSE show-warnings FALSE min@min-laptop:/var/log$ 这样算不算是我在b机器上登录A机器的mysql数据库登录成功了呢?如果是登录成功了的话,为什么不是停留在mysql>这个提示符下而是直接推出来了呢?
您好。我知道我错在哪里了。在mysql中,mysql默认应该是不可以远程登录的。这样的话,作为从服务器的B机器就不能登录到作为主服务器的A机器,自然也就出现error connecting to master的问题了。
参考下贴中的检查方法并贴出你的检查结果(#43楼)http://topic.csdn.net/u/20090920/22/14d4f597-b7d4-4c24-b0db-abb2956e66c3.html
[收集]mysql 无法联接故障现象及原因
两个问题。
1。我执行了sudo mysqld stop之后,为什么我在mysql数据库中还可以查询数据呢?不是发把服务已经停掉了么?很是奇怪。
2。我执行了一下netstat -a,输出的结果中竟然没有3306这个端口?是什么原因?
谢谢您的回答。原谅小弟初学。。
Trying 0.0.12.234...
telnet: Unable to connect to remote host: Invalid argument这个是什么意思?
您好。
naughty@ns:/etc/mysql$ telnet localhost 3306
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
D
5.1.41-3ubuntu12.1-logJZ|!+R<uZ!AtGFhYdjgIr(Connection closed by foreign host.
这个执行结果是什么意思呢?
1:在A机器上直接登录MYSQL,然后SHOW VARIABLES LIKE '%PORT%',看看用的是哪个端口。或者在配置文件的MYSQLD下的PORT参数,看下是多少,如果不是3306,那么你B里指定的MASTER的端口肯定就是错误的。2:确定能够登录A本机后,看下tongbu这个账号的权限是否足够
mysql> show grants for 'tongbu';3:在B机登录A机,通过tongbu这个账号。4:在B机上操作1,2,3步,确定都正常。
测试版本:MYSQL 5.1.42 WINDOWS版本
该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。
数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(windows下为my.ini,Unix/Linux下为my.cnf)
1、实施环境:
操作系统:2台WINDOWS XP
mysql:mysql-5.1.42
SvrA ip:192.168.1.10(主端)
SvrB ip:192.168.1.11(从端)
2、配置方法
Demo 1:主从模式[Master->Slave]:A->B
=====step 1:分别在SvrA、SvrB上配置同步DB及Account=====
Step A:SvrA上配置
1.增加一个用户最为同步的用户帐号:
GRANT ALL ON *.* TO backup@'192.168.1.11' IDENTIFIED BY '123’;
在主上增加一个用户名称为BACKUP,密码为123,访问IP为从的IP地址
2.增加一个数据库作为同步数据库:
create database backup;
Step B:SvrB上配置
1.增加一个用户最为同步的用户帐号:
GRANT FILE ON *.* TO backup.@'192.168.1.10' IDENTIFIED BY '123’;
在从上增加一个用户名称为BACKUP,密码为123,访问IP为主的IP地址
2.增加一个数据库作为同步数据库:
create database backup;
====step 2:配置Master、Slave参数======
主从模式:A->B即 SvrA为master ,SvrB为slave
1、修改SvrA 中mysql的my.cnf文件。在mysqld配置项中加入下面配置:
server-id=1
log-bin=D:\log\mysqllog
binlog-do-db=backup
注
Log-bin #设置需要记录log 可以设置log-bin=/Data/logs/mysqllog 设置日志文件的目录[其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件]。
binlog-do-db=backup #指定需要日志的数据库
配置完后重起数据库服务。NET STOP MYSQL NET START MYSQL
用show master status 命令看日志情况。
2、修改SvrB中 mysql的my.cnf文件。在mysqld配置项中加入下面配置:
server-id=2
master-host=192.168.1.10
master-user=backup#同步用户帐号
master-password=123
master-port=3306
master-connect-retry=10 预设重试间隔10秒
replicate-do-db=backup 告诉slave只做backup数据库的更新
配置完后重起数据库
用show slave status看同步配置情况。
注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info
测试:在主端建表A,在从端SHOW TABLES 能看到A
在A添加一条记录,在从端SELECT * FROM A能看到 所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。
Demo 2、双机互备模式。
如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。
在A的配置文件中 mysqld 配置项加入以下设置:
master-host=192.168.1.11
master-user=backup
master-password=123
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中 mysqld 配置项加入以下设置:
log-bin=D:\log\mysqllog
binlog-do-db=backup
注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start
重起主从的服务,则可以实现双向的热备。
测试通过。网络上找的同步方法。
你好。好像是您说的这个问题,mysql> show grants for 'tongbu';
ERROR 1141 (42000): There is no such grant defined for user 'tongbu' on host '%'这是我运行的结果。是因为没有给tongbu这个用户相应的权限吧?
这个是另外的一个运行结果。
mysql> mysql> show grants for 'tongbu'@'192.168.1.207';
+----------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+----------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'tongbu'@'192.168.1.207' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)应该是给了tongbu这个用户权限了的。
您好。您给我的第三条建议的结果如下:min@min-laptop:/var/log$ mysql -h 192.168.1.202-u tongbu -p 123456
mysql Ver 14.14 Distrib 5.1.36, for pc-linux-gnu (i686) using EditLine wrapper
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
。
。
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit
--no-defaults Don't read default options from any options file
--defaults-file=# Only read default options from the given file #
--defaults-extra-file=# Read this file after the global files are readVariables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
auto-rehash TRUE
character-sets-dir (No default value)
column-type-info FALSE
comments FALSE
compress FALSE
debug-check FALSE
。
。
i-am-a-dummy FALSE
connect_timeout 0
max_allowed_packet 16777216
net_buffer_length 16384
select_limit 1000
max_join_size 1000000
secure-auth FALSE
show-warnings FALSE
min@min-laptop:/var/log$
这样算不算是我在b机器上登录A机器的mysql数据库登录成功了呢?如果是登录成功了的话,为什么不是停留在mysql>这个提示符下而是直接推出来了呢?
在my.cnf中有一个bind-address=127.0.0.1的字段,把这个注释掉就好了。呵呵,是一个英文论坛上找到的。真不容易。谢谢您啦。