通过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
MySQL时间盲注的五种延时方法实现
May 18 MySQL
MySQL之PXC集群搭建的方法步骤
May 25 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
MySQL 常见存储引擎的优劣
Jun 02 MySQL
zabbix监控mysql的实例方法
Jun 02 MySQL
mysql外连接与内连接查询的不同之处
Jun 03 MySQL
MySQL中varchar和char类型的区别
Nov 17 MySQL
解决MySQL添加新用户-ERROR 1045 (28000)的问题
Mar 03 MySQL
MySQL数据库简介与基本操作
May 30 MySQL
Mysql数据库group by原理详解
Jul 07 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
桌面中心(四)数据显示
2006/10/09 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
优化javascript的执行速度
2010/01/23 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)
2013/07/09 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
python使用htmllib分析网页内容的方法
2015/05/08 Python
Python常用的爬虫技巧总结
2016/03/28 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
Linux内核产生并发的原因
2016/11/08 面试题
竞职演讲稿范文
2014/01/11 职场文书
护理职业生涯规划书
2014/01/24 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
员工自我评价范文
2015/03/11 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL