主頁(yè) > 知識(shí)庫(kù) > 通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置

通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置

熱門標(biāo)簽:AI智能電銷機(jī)器人壞處 如何申請(qǐng)400的電話呀 黑暗之魂3地圖標(biāo)注 電商外呼系統(tǒng)排名 沈陽(yáng)ai電銷智能機(jī)器人 蘭州電銷機(jī)器人加盟 合肥電銷外呼系統(tǒng)供應(yīng)商 地圖標(biāo)注審核周期 電話機(jī)器人對(duì)家居行業(yè)幫助大嗎

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 用戶名 -e "sql語(yǔ)句"
# 因?yàn)樵趍y.cnf中配置了密碼,所以不用寫密碼了
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 用戶名 -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)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 解決Linux安裝mysql 在/etc下沒(méi)有my.cnf的問(wèn)題
  • mysql 5.7 的 /etc/my.cnf 參數(shù)介紹
  • MySQL中配置文件my.cnf因權(quán)限問(wèn)題導(dǎo)致無(wú)法啟動(dòng)的解決方法
  • mysql服務(wù)性能優(yōu)化—my.cnf_my.ini配置說(shuō)明詳解(16G內(nèi)存)
  • MySQL修改my.cnf配置不生效的解決方法
  • MySQL 5.5.x my.cnf參數(shù)配置優(yōu)化詳解
  • MySQL配置文件my.cnf優(yōu)化詳解(mysql5.5)
  • MySQL性能優(yōu)化之路---修改配置文件my.cnf
  • MariaDB(Mysql分支)my.cnf配置文件中文注釋版
  • MySQL配置文件my.cnf參數(shù)優(yōu)化和中文詳解
  • MySQL配置文件my.cnf中文詳解附mysql性能優(yōu)化方法分享
  • MySQL配置文件my.cnf中文版對(duì)照
  • 對(duì)MySQL配置參數(shù) my.ini/my.cnf的詳細(xì)解析
  • MySQL讀取my.cnf的順序問(wèn)題詳情

標(biāo)簽:河池 常州 通遼 黔南 隴南 黔南 淮南 河北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置》,本文關(guān)鍵詞  通過(guò),shell,腳本,對(duì),mysql,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于通過(guò)shell腳本對(duì)mysql的增刪改查及my.cnf的配置的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章