Shell 自动登录 MySQL 是指通过 Shell 脚本实现无需手动输入用户名和密码即可连接到 MySQL 数据库。这种自动化方式通常用于批量操作、定时任务或自动化部署等场景。
#!/usr/bin/expect
# 设置MySQL连接参数
set host "localhost"
set user "your_username"
set password "your_password"
set db "your_database"
# 启动MySQL客户端
spawn mysql -h $host -u $user -p $db
# 等待密码提示并自动输入
expect "Enter password:"
send "$password\r"
# 等待MySQL客户端启动
expect "mysql>"
# 执行SQL命令
send "SELECT * FROM your_table;\r"
# 退出MySQL客户端
send "quit\r"
# 等待脚本结束
expect eof
~/.my.cnf
:[client]
user=your_username
password=your_password
host=localhost
database=your_database
chmod 600 ~/.my.cnf
mysql
原因:可能是由于expect版本不兼容或配置错误。
解决方法:
sudo apt-get install expect
原因:配置文件权限设置不当可能导致无法读取。
解决方法:
chmod 600 ~/.my.cnf
通过以上方法,你可以实现Shell自动登录MySQL,并解决常见的问题。
领取专属 10元无门槛券
手把手带您无忧上云