通过shell脚本对mysql的增删改查及my.cnf的配置


Posted in MySQL onJuly 07, 2021

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的增删改查及my.cnf的配置的文章就介绍到这了,更多相关shell脚本mysql增删改查内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
数据库连接池
Apr 06 MySQL
Mysql 如何查询时间段交集
Jun 08 MySQL
MySQL快速插入一亿测试数据
Jun 23 MySQL
MySQL中的引号和反引号的区别与用法详解
Oct 24 MySQL
MySQL和Oracle批量插入SQL的通用写法示例
Nov 17 MySQL
MySQL数据库完全卸载的方法
Mar 03 MySQL
你真的会用Mysql的explain吗
Mar 31 MySQL
mysql查找连续出现n次以上的数字
May 11 MySQL
MySQL 逻辑备份 into outfile
May 15 MySQL
深入理解MySQL中MVCC与BufferPool缓存机制
May 25 MySQL
MySql中的json_extract函数处理json字段详情
Jun 05 MySQL
MySQL索引失效十种场景与优化方案
May 08 MySQL
MySQL一些常用高级SQL语句
MySQL系列之十四 MySQL的高可用实现
MySQL系列之十二 备份与恢复
Jul 02 #MySQL
MySQL系列之十一 日志记录
Jul 02 #MySQL
MySQL系列之十 MySQL事务隔离实现并发控制
MySQL系列之九 mysql查询缓存及索引
MySQL系列之八 MySQL服务器变量
Jul 02 #MySQL
You might like
linux下 C语言对 php 扩展
2008/12/14 PHP
10个实用的PHP代码片段
2011/09/02 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
js里面的变量范围分享
2020/07/18 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
Python每天必学之bytes字节
2016/01/28 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
Python Collatz序列实现过程解析
2019/10/12 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
高山背包:High Sierra
2017/11/23 全球购物
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
2014年党支部学习材料
2014/05/19 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
JavaScript实现栈结构详细过程
2021/12/06 Javascript