通过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 相关文章推荐
MySQL数字类型自增的坑
May 07 MySQL
mysql备份策略的实现(全量备份+增量备份)
Jul 07 MySQL
MySQL里面的子查询的基本使用
Aug 02 MySQL
一篇文章带你深入了解Mysql触发器
Aug 02 MySQL
MySQL数据库超时设置配置的方法实例
Oct 15 MySQL
深入解析MySQL索引数据结构
Oct 16 MySQL
MySQL分区表实现按月份归类
Nov 01 MySQL
MySQL Innodb索引机制详细介绍
Nov 23 MySQL
Mysql存储过程、触发器、事件调度器使用入门指南
Jan 22 MySQL
Pycharm远程调试和MySQL数据库授权问题
Mar 18 MySQL
分享很少见很有用的SQL功能CORRESPONDING
Aug 05 MySQL
mysql通过group by分组取最大时间对应数据的两种有效方法
Sep 23 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
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
php 数据结构之链表队列
2017/10/17 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
微信小程序 如何保持登录状态
2019/08/16 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
python二叉树遍历的实现方法
2013/11/21 Python
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
Python按行读取文件的简单实现方法
2016/06/22 Python
详解python基础之while循环及if判断
2017/08/24 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
七匹狼男装广告词
2014/03/21 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
健康状况证明书
2014/11/26 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript