MySQL如何最大程度防止人為誤操作

2021-10-24 12:16:44 字數 2670 閱讀 2166

[root@xingzhiyu~]

# mysql --help|grep dummy

-u,--i-am-a-dummy synonym for option --safe-updates, -u.

i-am-a-

dummy

false

在mysql命令加上選項-u後,當發出沒有where或limit關鍵字的update或delete時,mysql程式就會拒絕執行。

[root@xingzhiyu~]

# mysql -uroot -proot -s /data/3306/mysql.sock -u

welcome to the mysql monitor. commands end

with

;or \g.

your mysql connection id is

14server version: 5.7

.24-log mysql community server (gpl)

2000

,2018

, oracle and

/or its affiliates.

all rights reserved.

oracle is a registered trademark of oracle corporation and

/or its

affiliates. other names may be trademarks of their respective

owners.

type

'help;'

or'\h'

for help.

type

'\c'

to clear the current input statement.

mysql>

delete

from oldboy.student;

error 1175

(hy000): you are using safe update

mode

and you tried to

update a table without a where that uses a key

column

mysql> quit

bye

我們可以將操作mysql的命令做成別名,防止他人和dba誤運算元據庫,將操作mysql的命令做成別名也非常簡單,這裡,我們直接上示例了,如下所示。

[root@xingzhiyu~]

# alias mysql='mysql -u'

[root@xingzhiyu~]

# mysql -uroot -poldboy123 -s /data/3306/mysql.sock

welcome to the mysql monitor. commands end

with

;or \g.

your mysql connection id is

15server version: 5.7

.24-log mysql community server (gpl)

type

'help;'

or'\h'

for help.

type

'\c'

to clear the current input statement.

mysql>

delete

from oldboy.student;

error 1175

(hy000): you are using safe update

mode

and you tried to

update a table without a where that uses a key

column

mysql>

delete

from oldboy.student where sno=5;

query ok,

1row affected (

0.02 sec)

mysql> quit

bye

在命令行會話設定alias mysql='mysql -u』之後,只能在當前會話有效,關閉當前連線伺服器的命令列之後,會話失效,則別名設定也會隨之失效。如果想關閉連線伺服器的會話終端,別名設定仍然有效,或者多個會話都能夠使用這個別名來運算元據庫,則我們可以將設定別名的命令新增到/etc/profile系統環境變數中,如下所示。

[root@xingzhiyu~]

# echo "alias mysql='mysql -u'" >>/etc/profile

[root@xingzhiyu~]

# . /etc/profile

[root@xingzhiyu~]

# tail -1 /etc/profile

alias mysql=

'mysql -u'

這樣,當我們退出當前連線伺服器的會話終端,mysql的別名設定依然有效,每次連線伺服器時,不必在當前會話中重新設定mysql的命令別名,直接使用即可。

在mysql命令加上選項-u後,當發出沒有where或limit關鍵字的update或delete時,mysql程式拒絕執行。

mysql 防止注入 mysql如何防止sql注入

mysql防止sql注入的方法 1 普通使用者與系統管理員使用者的許可權要嚴格地區分開 2 強迫使用者使用引數化語句 3 盡量使用sql server資料庫自帶的安全引數 4 對使用者輸入的內容進行驗證。sql injection攻擊具有很大的危害,攻擊者可以利用它讀取 修改或者刪除資料庫內的資料,...

手機如何最大程度保值,閃電修來支招

蘋果秋季發布會的餘溫依舊還在朋友圈蔓延,整場發布會唯一重磅產品是其發布了自家年度旗艦iphone xs和iphone xs max,作為存活時間最短的iphone x,發布會結束後,官網已經悄然下架。據二手交易 musicmagpie 表示,iphone x 目前的易新價值仍然是原來的銷售 的 68...

mysql中文注入 mysql如何防止sql注入

mysql防止sql注入的方法 1 普通使用者與系統管理員使用者的許可權要嚴格地區分開 2 強迫使用者使用引數化語句 3 盡量使用sql server資料庫自帶的安全引數 4 對使用者輸入的內容進行驗證。sql injection攻擊具有很大的危害,攻擊者可以利用它讀取 修改或者刪除資料庫內的資料,...