通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置
shell操作mysql
1.獲取mysql默認(rèn)密碼
新安裝的mysql,密碼是默認(rèn)密碼
#!/bin/bash
# STRING:獲取mysql默認(rèn)密碼的一段字符串
# 例如:A temporary password is generated for root@localhost: xxxxxx
# PASSWORD:將獲取到的STRING進(jìn)行截取,獲取localhost:右邊的默認(rèn)密碼
# shellcheck disable=SC2006
STRING=`grep "temporary password" /var/log/mysqld.log`
PASSWORD=${STRING#*localhost: }
若已經(jīng)修改了密碼的
#!/bin/bash # shellcheck disable=SC2006 PASSWORD="你的密碼"
2.修改my.cnf文件
原因:在mysq5.6還是5.7以上,使用如下的shell腳本進(jìn)行連接,會(huì)提示在命令行輸入密碼不安全。
mysql -u root -pPASSWORD -e "xxxxxx"
解決方法:使用sed命令在my.cnf文件中添加如下字段
[client] user=root password=xxxxxx
shell腳本:
# 我的my.cnf文件在/etc/my.cnf下,不相同的可以自己去找找 # sed -i '第幾行 添加的內(nè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創(chuàng)建mysql數(shù)據(jù)庫(kù)
# SQL語(yǔ)句
DATABASE_SQL="CREATE DATABASE IF NOT EXISTS test"
# mysql -u 用戶(hù)名 -e "sql語(yǔ)句"
# 因?yàn)樵趍y.cnf中配置了密碼,所以不用寫(xiě)密碼了
mysql -u root -e "${DATABASE_SQL}"
4.shell創(chuàng)建mysql表
# sql語(yǔ)句
TEST_SQL="CREATE TABLE IF NOT EXISTS test ( id varchar(20) NOT NULL, text varchar(20) NOT NULL) ENGINE=InnoDB"
# mysql -u 用戶(hù)名 -D "數(shù)據(jù)庫(kù)名" -e "sql語(yǔ)句"
mysql -u root -D "test" -e "${TEST_SQL}"
5.shell添加數(shù)據(jù)
# sql語(yǔ)句
INSERT_SQL="insert into test values ('123', 'test')"
mysql -u root -D "test" -e "${INSERT_SQL}"
6.shell刪除數(shù)據(jù)
DELETE_SQL="delete from test where id='123'"
mysql -u root -D "test" -e "${DELETE_SQL}"
7.shell修改數(shù)據(jù)
UPDATE_SQL="update test set text='你好' where id='123'"
mysql -u root -D "test" -e "${UPDATE_SQL}"
8.shell查找數(shù)據(jù)
SELECT_SQL="select id, text from test where id='123'"
mysql -u root -D "test" -e "${SELECT_SQL}"
9.shell修改數(shù)據(jù)庫(kù)密碼
# 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"
到此這篇關(guān)于通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置的文章就介紹到這了,更多相關(guān)shell腳本mysql增刪改查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux命令學(xué)習(xí)之用戶(hù)切換su,sudo命令詳解
在操作過(guò)程中需要使用特定的用戶(hù)進(jìn)行特定的操作,多數(shù)情況下是因?yàn)闄?quán)限,比如要修改一個(gè)文件,只有root用戶(hù)有權(quán)限修改,那么就要切換到root用戶(hù)下進(jìn)行操作,本文給大家講解Linux命令學(xué)習(xí)之用戶(hù)切換su,sudo命令,感興趣的朋友跟隨小編一起看看吧2023-02-02
編寫(xiě)shell腳本實(shí)現(xiàn)tomcat定時(shí)重啟的方法
這篇文章主要介紹了編寫(xiě)shell腳本實(shí)現(xiàn)tomcat定時(shí)重啟的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Linux用戶(hù)在第一次登錄時(shí)強(qiáng)制更改初始密碼
在多用戶(hù)Linux環(huán)境下,創(chuàng)建使用某個(gè)隨機(jī)默認(rèn)密碼的用戶(hù)帳戶(hù)是標(biāo)準(zhǔn)做法。之后在成功登錄后,新用戶(hù)可以將默認(rèn)密碼更改成自己的密碼。出于安全方面的原因,常常建議“迫使”用戶(hù)在第一次登錄后更改默認(rèn)密碼,以確保最初的一次性密碼不再使用,需要的朋友可以參考下2015-10-10
利用管道實(shí)現(xiàn)sudo命令免輸入密碼的方法
這篇文章主要介紹了利用管道實(shí)現(xiàn)sudo命令免輸入密碼的方法,即不輸入密碼執(zhí)行sudo命令方法,需要的朋友可以參考下2014-03-03
Linux下Oracle歸檔日志自動(dòng)清理腳本代碼(sh)
將以下代碼保存為.sh文件,并放到crontab里就可以實(shí)現(xiàn)自動(dòng)清理2013-01-01

