【问题标题】:Parse MySQL Community Edition 5.7 auto-generated temporary root password in bash shell script在 bash shell 脚本中解析 MySQL Community Edition 5.7 自动生成的临时 root 密码
【发布时间】:2016-04-06 05:29:26
【问题描述】:

我正在 CentOS 7 (x64) 上安装 MySQL 5.7,如下所示:

yum localinstall -y https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm;
yum install -y mysql-community-server;

新版mysql自动生成随机root密码。这可以通过以下命令找到:

grep 'A temporary password is generated for root@localhost' /var/log/mysqld.log | tail -1

例如输出:

2016-01-01T20:51:50.861279Z 1 [注意] 为 root@localhost: s8,arY7l_xQ: 生成一个临时密码:

有没有办法将随机生成的根通行证s8,arY7l_xQ: 解析为上述命令输出中的变量?

【问题讨论】:

    标签: mysql linux bash shell centos


    【解决方案1】:

    这似乎对我有用:

    dan@ebony ~ $ cat file
    2016-01-01T20:51:50.861279Z 1 [Note] A temporary password is generated for root@localhost: s8,arY7l_xQ:
    dan@ebony ~ $ grep 'temporary.*root@localhost' file | sed 's/.*root@localhost: //'
    s8,arY7l_xQ:
    dan@ebony ~ $ passwd="`grep 'temporary.*root@localhost' file | sed 's/.*root@localhost: //'`"
    dan@ebony ~ $ echo $passwd
    s8,arY7l_xQ:
    

    【讨论】:

    • 我试过了,还是不行。返回空字符串。
    • 在您的示例中看起来密码实际上位于该行的 end 行,而不是出于某种原因我认为的下一行。试试我的更新。我包括一个测试来证明它有效。
    猜你喜欢
    • 2017-07-11
    • 2016-04-06
    • 2016-01-24
    • 2016-08-24
    • 2017-07-02
    • 2014-12-08
    • 2011-09-20
    • 1970-01-01
    • 2016-03-03
    相关资源
    最近更新 更多