Mysql - 从“显示主状态”查询中选择值

时间:2011-03-07 14:38:12

标签: mysql replication status database-replication master

喜 如何从“SHOW MASTER STATUS”查询中仅选择位置值 exp类似

select position from (show master status); 

感谢您的时间和帮助

3 个答案:

答案 0 :(得分:5)

不幸的是,没有直接表来查询该信息。

如果您使用PHP,则可以按如下方式检索它:

$ sql =“SHOW MASTER STATUS”;
$ result = mysql_query($ sql);
$ row = mysql_fetch_assoc($ result);
$ pos = $ row [“职位”];

如果您需要通过shell脚本编写,请执行以下操作:

POS =`mysql -h ... -u ... -p ... -A -skip-column-names -e“SHOW MASTER STATUS;” | awk'{print $ 2}'`

试一试!!!

答案 1 :(得分:0)

在Linux中,您可以在终端中键入以下命令,这将为您提供单个值Seconds_Behind_Master。

 mysql -h 127.0.0.1 -u root -e 'show slave status\G' | grep 'Seconds_Behind_Master';

答案 2 :(得分:0)

在Linux bash脚本中,您可以通过mysql客户端尝试以下命令来获取文件和位置

对于文件:

import org.springframework.util.CollectionUtils;
import javax.validation.ConstraintViolation;
import javax.validation.Valid;
import javax.validation.Validation;
import javax.validation.Validator;

public abstract class HeaderValidator {

    public boolean validate() {
        Validator validator = Validation
                .buildDefaultValidatorFactory()
                .getValidator();
        Set<ConstraintViolation<HeaderValidator>> violations = validator.validate(this);
        if (!CollectionUtils.isEmpty(violations)) {
            throw <your exception>
        }
        return true;
    }

位置

mysql -u username -p password -h IP -P Port -e "show master status" | grep "File"| cut -d ":" -f2