通过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 Threads_running飙升与慢查询的相关问题解决
May 08 MySQL
.Net Core导入千万级数据至Mysql的步骤
May 24 MySQL
MySQL中的布尔值,怎么存储false或true
Jun 04 MySQL
Mysql 设置boolean类型的操作
Jun 04 MySQL
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
Jun 26 MySQL
MySQL 聚合函数排序
Jul 16 MySQL
浅谈MySQL之select优化方案
Aug 07 MySQL
MySQL外键约束(FOREIGN KEY)案例讲解
Aug 23 MySQL
MySQL 如何限制一张表的记录数
Sep 14 MySQL
MySQL面试题讲解之如何设置Hash索引
Nov 01 MySQL
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
Dec 06 MySQL
mysql sql常用语句大全
Jun 21 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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
详解Python3中ceil()函数用法
2019/02/19 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
教师现实表现材料
2014/02/14 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
初中学生评语大全
2014/04/24 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
导游词之天津盘山
2019/11/01 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
详解python的内存分配机制
2021/05/10 Python
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python