这篇文章主要介绍了如何通过shell脚本对mysql的增删改查,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
shell操作mysql
1.获取mysql默认密码
新安装的mysql,密码是默认密码
#!/bin/bash # STRING:获取mysql默认密码的一段字符串 # 例如:A temporary password is generated for root@localhost: xxxxxx # PASSWORD:将获取到的STRING进行截取,获取localhost:右边的默认密码 # shellcheck disable=SC2006 STRING=`grep "temporary password" /var/log/mysqld.log` PASSWORD=${STRING#*localhost: }
若已经修改了密码的
#!/bin/bash # shellcheck disable=SC2006 PASSWORD="你的密码"
2.修改my.cnf文件
原因:在mysq5.6还是5.7以上,使用如下的shell脚本进行连接,会提示在命令行输入密码不安全。
mysql -u root -pPASSWORD -e "xxxxxx"
解决方法:使用sed命令在my.cnf文件中添加如下字段
[client] user=root password=xxxxxx
shell脚本:
# 我的my.cnf文件在/etc/my.cnf下,不相同的可以自己去找找 # sed -i '第几行 添加的内容' 指定的文件 sed -i '1i [client]' /etc/my.cnf sed -i '2i user=root' /etc/my.cnf sed -i '3i password=xxxxxx' /etc/my.cnf
3.shell创建mysql数据库
# SQL语句 DATABASE_SQL="CREATE DATABASE IF NOT EXISTS test" # mysql -u 用户名 -e "sql语句" # 因为在my.cnf中配置了密码,所以不用写密码了 mysql -u root -e "${DATABASE_SQL}"
4.shell创建mysql表
# sql语句 TEST_SQL="CREATE TABLE IF NOT EXISTS test ( id varchar(20) NOT NULL, text varchar(20) NOT NULL) ENGINE=InnoDB" # mysql -u 用户名 -D "数据库名" -e "sql语句" mysql -u root -D "test" -e "${TEST_SQL}"
5.shell添加数据
# sql语句 INSERT_SQL="insert into test values ('123', 'test')" mysql -u root -D "test" -e "${INSERT_SQL}"
6.shell删除数据
DELETE_SQL="delete from test where id='123'" mysql -u root -D "test" -e "${DELETE_SQL}"
7.shell修改数据
UPDATE_SQL="update test set text='你好' where id='123'" mysql -u root -D "test" -e "${UPDATE_SQL}"
8.shell查找数据
SELECT_SQL="select id, text from test where id='123'" mysql -u root -D "test" -e "${SELECT_SQL}"
9.shell修改数据库密码
# mysql5.7之前 SQL="update mysql set password=password("新密码") where user='root'" # mysql5.7及以后 SQL="update mysql set authentication_string=password("新密码") where user='root'" # flush privileges:刷新 mysql -u root -D "mysql" -e "${SQL};flush privileges"
感谢你能够认真阅读完这篇文章,希望小编分享的“如何通过shell脚本对mysql的增删改查”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。