shell脚本执⾏sql语句
语法
内嵌式(sql直接在sh脚本内嵌套)
mysql下载失败怎么办mysql -P 端⼝号  -u⽤户名 -p密码  -e "需要被执⾏的sq l"
独⽴式(sql在单独的⽂件中)
前提:将sql写在创建的test.sql⽂件中,并且和脚本⽂件在同级⽬录下
3种执⾏⽅式
1. mysql -P 端⼝号  -u⽤户名 -p密码  < test.sql
2. mysql -P 端⼝号  -u⽤户名 -p密码  -e "source test.sql"
3. mysql -P 端⼝号  -u⽤户名 -p密码  -e "\.test.sql"
最近在搞⽤脚本初始化msyql8,需要在shell⾥⾯执⾏初始化msyql的sql语句,尝试了好多后成功了,分享给⼤家。
/usr/local/mysql8/bin/mysqld --initialize
password=`sudo grep "A temporary password" /usr/local/mysql8/data/error.log| awk '{ print $NF }'`
mysql -uroot -p$password --connect-expired-password -e "
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
create user 'root'@'%' identified by '123456';
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;" || exit -1
`--connect-expired-password `:执⾏修改密码的语句时需要加。
`|| exit -1 `:执⾏失败时退出脚本执⾏,⽅便做别的逻辑操作,不加的话即使sql执⾏失败,脚本也会继续执⾏。根据业务场景判断是否加。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。