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

这篇文章主要介绍了通过shell脚本对mysql的增删改查及my.cnf的配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

shell操作mysql

1.获取mysql默认密码

新安装的mysql,密码是默认密码

1

2

3

4

5

6

7

#!/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: }

若已经修改了密码的

1

2

3

#!/bin/bash

# shellcheck disable=SC2006

PASSWORD="你的密码"

2.修改my.cnf文件

原因:在mysq5.6还是5.7以上,使用如下的shell脚本www.jsr9.com进行连接,会提示在命令行输入密码不安全。

1

mysql -u root -pPASSWORD -e "xxxxxx"

解决方法:使用sed命令在my.cnf文件中添加如下字段

1

2

3

[client]

user=root

password=xxxxxx

shell脚本:

1

2

3

4

5

# 我的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数据库

1

2

3

4

5

# SQL语句

DATABASE_SQL="CREATE DATABASE IF NOT EXISTS test"

# mysql -u 用户名 -e "sql语句"

# 因为在my.cnf中配置了密码,所以不用写密码了

mysql -u root -e "${DATABASE_SQL}"

4.shell创建mysql表

1

2

3

4

# 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添加数据

1

2

3

# sql语句

INSERT_SQL="insert into test values ('123', 'test')"

mysql -u root -D "test" -e "${INSERT_SQL}"

6.shell删除数据

1

2

DELETE_SQL="delete from test where id='123'"

mysql -u root -D "test" -e "${DELETE_SQL}"

7.shell修改数据

1

2

UPDATE_SQL="update test set text='你好' where id='123'"

mysql -u root -D "test" -e "${UPDATE_SQL}"

8.shell查找数据

1

2

SELECT_SQL="select id, text from test where id='123'"

mysql -u root -D "test" -e "${SELECT_SQL}"

9.shell修改数据库密码

1

2

3

4

5

6

7

# 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的配置的文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值