for((;;)) do mysql=`mysqladmin -uroot -p123 -h localhost ping` echo "进入循环" status=${mysql##*is } echo "$status" if (($status=="alive"));then echo "进入判断" sleep 10 else echo "出错时判断" `systemctl start mysqld` fi done
时间: 2023-05-23 13:01:13 浏览: 82
这是一个无限循环,其中每次循环都会执行一个mysqladmin命令来检查MySQL服务器的连接状态,并将结果存储在变量mysql中。接下来,打印一条消息“进入循环”,然后将mysql变量的输出赋值给变量status。
相关问题
若用户名root密码password,则查看mysql服务是否正常的指令是()。 A. mysql -uroot -ppassword ping B. mysqladmin -uroot -ppassword ping C. mysqladmin -uroot -ppassword D.mysqladmin -u -p ping
B. mysqladmin -uroot -ppassword ping
解析:查看MySQL服务是否正常,可以使用mysqladmin命令行工具中的ping子命令。正确的命令是:
```
mysqladmin -uroot -ppassword ping
```
其中,-u选项指定用户名为root,-p选项指定密码为password,ping是mysqladmin的子命令,用于检测MySQL服务是否正常。如果MySQL服务正常,会返回一个类似于“mysqld is alive”的消息。因此,选项B是正确的。选项A中,mysql命令行工具没有ping子命令;选项C中,多了一个空格,不正确;选项D中,-u和-p选项后面没有指定用户名和密码,不正确。
:\mysql\mysql>mysqladmin -u root -p password Enter password: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
这个错误提示表明使用 root 用户连接 MySQL 时密码未正确设置,或者密码输入不正确。请按照以下步骤进行排查和解决:
1. 确认 MySQL 是否已经启动,可以使用命令 `sudo service mysql status` 或 `sudo systemctl status mysql` 查看 MySQL 服务状态。
2. 确认 root 用户是否能够登录 MySQL,可以使用命令 `mysql -u root -p` 登录 MySQL,输入密码后如果能够成功登录,说明密码已经设置正确。
3. 如果无法成功登录,可以尝试使用以下命令重置 root 用户的密码:
```
sudo systemctl stop mysql
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set authentication_string=password('your_new_password') where user='root';
flush privileges;
quit;
sudo systemctl start mysql
```
其中,`your_new_password` 是你要设置的新密码,执行完上述命令后,尝试使用新密码登录 MySQL。
4. 如果重置密码仍然无法解决问题,可以尝试使用 `sudo mysql_secure_installation` 命令重新设置 MySQL 的 root 用户密码和其他安全选项。
希望这些方法能够帮到你解决问题。
阅读全文