MySQL設置從庫只讀模式

常見現象

  運維工作中會經常維護MySQL主從服務器,當然Slave我們只是用于讀操作。

一般權限開通也只授權只讀賬號,但是有時候維護工作可能不是一個人在做,你不能保證其他同事都按照這個標準操作。

有同事可能會授權Slave庫MySQL賬號為all或者select,update,insert,delete。還有一種情況是主從做了對所有數據的同步(包括用戶信息),在Master庫上面授權的賬號也同步到了Slave庫上面,當然Master賬號中肯定會有select,update,insert,delete權限。

存在的問題

  那么問題來了,當運維人員或者開發人員程序錯誤的連接了Mysql把Slave當成了Master等情況,那么就悲催了所有的數據修改就到Slave了,也會直接影響到主從的同步。

為了避免上述問題,我們需要給MySQL的Slave設置為只讀模式。

解決方法

演示如下:
mysql> set global read_only=1; 
Query OK, 0 rows affected (0.00 sec)

#set global read_only=0 為取消普通賬號的只讀模式

授權普通MySQL測試賬號
mysql> grant select,insert,update,delete on s18.* to 'test'@'127.0.0.1' identifi
ed by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
用測試賬號登陸進行刪除等操作,會提示--read-only錯誤
復制代碼
mysql> delete from student where sid=14;
ERROR 1290 (HY000): The MySQL server is running with the --read-only option so i
t cannot execute this statementmysql> insert class values(5,三年級十班);
ERROR 1290 (HY000): The MySQL server is running with the --read-only option so i
t cannot execute this statement
復制代碼

注意:set global read_only=1 對擁有super權限的賬號是不生效的,所以在授權賬號的時候盡量避免添加super權限

那么我們在做數據遷移的時候不想發生任何數據的修改,包括super權限修改也要限制。

可以用鎖表:

mysql> flush tables with read lock;
Query OK, 0 rows affected (0.18 sec)
使用root賬號測試:
mysql>  delete from student where sid=13;
ERROR 1223 (HY000): Can't execute the query because you have a conflicting read
lock
解鎖測試:
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
mysql>  delete from student where sid=13;
Query OK, 0 rows affected (0.00 sec)

轉載于:https://www.cnblogs.com/sandea/p/9467176.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282476.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282476.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282476.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

尋找kernel32.dll的地址

為了尋找kernel32.dll的地址,可以直接輸出,也可以通過TEB,PEB等查找。 尋找TEB: dt _TEB nt!_TEB 0x000 NtTib : _NT_TIB 0x01c EnvironmentPointer : Ptr32 Void 0x020 ClientId : _CLIENT_ID 0x028 ActiveRpcHandle : Ptr32 Void 0x02c ThreadLocalSto…

layui彈出層使用(layer.alert / layer.open / layer.prompt )

一 layer.alert 效果圖: 代碼: //取消提現 function back(id) {layer.alert(真的要取消嗎, {skin: layui-layer-molv //樣式類名 自定義樣式,closeBtn: 1 // 是否顯示關閉按鈕,anim: 1 //動畫類型,btn: [確定,取消] //按鈕,icon: 6 // icon,yes:function(){return $.aj…

SkiaSharp 自繪彈幕效果

SkiaSharp 自繪彈幕效果控件名:SkiaSharpBarrage作者: 驚鏵原文鏈接: https://github.com/yanjinhuagood/SkiaSharpBarrage框架使用.NET60;Visual Studio 2022;項目使用 MIT 開源許可協議;接著上一篇 WPF 彈幕上期有…

JavaScript中this指向

一.重點來了,this指向問題:1.this指向之普通函數。 2.this指向之對象 3.this指向之構造函數 4.this指向之(call,apply)動態更改this指向。 二.具體分析如下 1.普通函數 // 第23行的調用者為null,this指向也為null,// 所以這時js把…

【python】python中的定義類屬性和對像屬性

python中變量是沒有類型的可以綁定任意類型,但是在語法上不能聲明變量。 那我們怎麼來聲名一個變量呢? fNone 這樣我們給著個變量綁定了以各None類型,我們隨時可用重新綁定其它類型。這樣我們起到了預先聲名變量的效果。 類中如何去定義類的…

提交Form表單,submit之前做js判斷處理

效果:在點擊提交按鈕時,首先進行js判斷, 如果不符合條件,則alert出提示信息,并return false. 主要點就在于給form表單添加一個onsubmit事件. 在onsubmit事件中定義的函數里進行js驗證處理.代碼 : <!DOCTYPE html> <html lang"en"> <head><meta …

如何在Windows上一鍵部署PaddleOCR的WebAPI服務

PaddleOCR旨在打造一套豐富、領先、且實用的OCR工具庫&#xff0c;助力開發者訓練出更好的模型&#xff0c;并應用落地。官方開源項目地址&#xff1a;https://github.com/PaddlePaddle/PaddleOCR一定會有小伙伴們看完不知道如何部署與應用&#xff0c;怎么才能融入到自己的產品…

微軟為 Visual Studio 擴展添加對 Arm64 的支持

微軟在 6 月份推出了支持 Arm64 架構的 Visual Studio&#xff0c;這是第一個原生支持在基于 Arm 的處理器上構建和調試 Arm64 應用程序的 Visual Studio 版本。近日&#xff0c;他們宣布為 Visual Studio 擴展也添加了對 Arm64 的支持&#xff0c;因此開發者可在 Arm64 Visual…

WIN10 查看已經連接的wifi的密碼

命令行: 1. 顯示以前連接過的wifi2. 將wifi配置存入文件中3. 查看剛剛保存的wifi配置的文件這樣,我們就可以看到連接的wifi名稱和wifi密碼了.

ubantu 重啟mysql

如何啟動/停止/重啟MySQL一、 啟動方式1、使用 service 啟動&#xff1a;service mysql start2、使用 mysqld 腳本啟動&#xff1a;/etc/inint.d/mysql start3、使用 safe_mysqld 啟動&#xff1a;safe_mysql&二、停止1、使用 service 啟動&#xff1a;service mysql stop2…

C++ 反射機制的簡單實現

C并不支持反射機制&#xff0c;只能自己實現。 如果需要實現字字符串到函數到映射&#xff0c;一定要使用到函數指針。 簡單實現反射機制&#xff0c;根據字符串來構造相應到類。主要有以下幾點&#xff1a; (1) 可以使用map保存字符從到函數指針到映射。 (2) 工廠類提供字符串…

微軟與 Canonical 合作,將 systemd 引入 WSL

微軟和 Canonical 聯合宣布&#xff0c;systemd 現在可以在 Windows Subsystem for Linux&#xff08;WSL2&#xff09;中運行了&#xff0c;此舉可以讓用戶在 Windows 設備上獲得更加全面的 Linux 體驗。systemd 的作者 Lennart Poettering 在 7 月份離開紅帽并加入了微軟&…

vsftpd配置

1.) yum install -y vsftpd 2.) useradd -g ftp -s /sbin/nologin afcupload (默認生成/home/afcupload, 可使用 -d參數自定義主目錄生成位置) 3.) passwd afcupload 4.) chgrp -R ftp afcupload 5.) chown -R afcupload:ftp afcupload 6.) chmod -R 700 afcupload 4.) 修…

2017.9.6數學

集合&#xff1a;一個可以代表一類事物或數據的代詞。&#xff08;個人定義&#xff09; &#xff08;其內容帶有輔助功效【個人記不下來】&#xff09;自然數&#xff1a;所有的非負整數。 有理數&#xff1a;是可以用正數和分數代表的數。實數&#xff1a;包括有理數和無理數…

.NET 反向代理-YARP 根據域名轉發

編者&#xff1a;fastgithub 就是基于YARP使用域名做轉發邏輯的。 前段時間發布過一個關于 YARP 的簡單介紹&#xff0c;感興趣的小伙伴恭請移步看看 .NET 反向代理-YARP 作為反向代理&#xff0c;必不可少的當然是根據域名代理轉發啦&#xff0c;毫無疑問&#xff0c;YARP…

第一個python小游戲

guess int(input("猜一猜寶寶心目中的數字是多少:")) secret 8 while guess !secret:guess int(input("哎呀猜錯了,重新猜一猜寶寶心目中的數字是多少:"))if guess secret:print("你真厲害,居然猜對了")print("哼,猜對了也不給你獎勵&q…

理論實踐:循序漸進理解AWR細致入微分析性能報告

1. AWR 概述 Automatic Workload Repository(AWR) 是10g引入的一個重要組件。在里面存貯著近期一段時間內&#xff08;默認是7天&#xff09;數據庫活動狀態的詳細信息。 AWR 報告是對 AWR 視圖進行查詢而得到的一份自動生成的報告。可以通過下面的腳本手工得到一份 AWR 報告。…

java 動態代理

動態代理 Proxy動態代理是基于實現接口的,被代理類實現了某個功能接口, 代理類實現invocationHandler 接口重寫invoke(Object proxy, Method method , class 代理類) 用Proxy.newProxyInstance(類加載器, 被代理類實現的接口的集合, invocationhandler 的實現類)來創建代理類對…

mysql sql語句書寫之面試部分

要求一 :查詢時,將用戶的手機號碼(比如1331234567)顯示為133***4567 這是在交流群里看到別人發的一個面試題,我本人非常反感直接在查詢時進行處理數據的,查詢出來再處理不好嗎,但是面試題要求是這樣. 這里,簡單的寫了兩個表關聯查詢,然后把手機號碼進行處理顯示出來select a.ui…