mysql使用者權限分配及主從同步複製,mysql使用者權限

來源:互聯網
上載者:User

mysql使用者權限分配及主從同步複製,mysql使用者權限
賦予wgdp使用者查詢許可權:grant select on wg_dp.* to 'wgdp'@'%' IDENTIFIED BY 'weigou123';grant all privileges on *.* to 'yangchao'@'%' IDENTIFIED BY 'weigou123'查詢mysql其他使用者權限:show grants for wgdp;取消wgdp使用者權限:revoke all on *.* from wgdp; PS:grant, revoke 使用者權限後,該使用者只有重新串連 MySQL 資料庫,許可權才會生效。許可權範圍:1.select、insert、update和delete許可權 允許你在一個資料庫現有的表上實施操作,是基本許可權 
2.alter許可權允許你使用ALTER TABLE 
3.create和drop許可權允許你建立新的資料庫和表,或拋棄(刪除)現存的資料庫和表 如果你將mysql資料庫的drop許可權授予一個使用者,該使用者能拋棄儲存了MySQL存取許可權的資料庫! mysql5.5後 mysql的設定檔my.cnf中的主從配置的一些欄位已經被廢棄,開啟主從的步驟:

1.準備工作,有兩個linux主機

master:10.209.112.58 mysql5.5  master 的使用者名稱是root,無密碼,

slave:10.46.169.62  mysql5.5 slave   的使用者名稱是root,無密碼,slave登入master進行同步的帳號是wgdp_syc;

允許slave登入master:GRANT ALL PRIVILEGES ON *.* TO 'wgdp_syc'@'10.46.169.62' IDENTIFIED BY 'syc1qaz2wsx' WITH GRANT OPTION; flush privileges;

2.主:配置master的my.cnf:[mysqld]#master configureserver-id = 1log-bin=mysql-binbinlog-do-db=masterbinlog-ignore-db=mysql#master configuredatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock

maser的id應該是1,說明log目錄,同步的資料庫,不允許同步的資料庫

然後在Master上增加一個帳號專門用於同步,如下:
GRANT REPLICATION SLAVE ON *.* TO rep@192.168.74.227 IDENTIFIED BY 'hello';
如果想要在Slave上有許可權執行"LOAD TABLE FROM MASTER" 或 "LOAD DATA FROM MASTER"語句的話,必須授予全域的 FILE 和 SELECT 許可權:
GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO rep@192.168.74.227 IDENTIFIED BY 'hello';
接下來備份Master上的資料,首先執行如下SQL語句:
FLUSH TABLES WITH READ LOCK;
然後把同步的資料tar打包,然後scp到227那台機器上,解壓,注意許可權問題
整個步驟完成之後,執行
UNLOCK TABLES

3.從:配置slave的my.cnf:[mysqld]#configure master-slaveserver-id=2#master-host=192.168.74.225#master-user=rep#master-password=helloreplicate-ignore-db=mysqlreplicate-do-db=master#configure master-slave 注意到slave的配置裡 master-host的三個欄位被注釋掉了,因為5.5以後已經廢棄這個配置,這三個欄位的設定通過登陸slave的mysql後,執行以下語句:mysql> CHANGE MASTER TO MASTER_HOST='10.209.112.58',MASTER_USER='wgdp_syc',MASTER_PASSWORD='syc1qaz2wsx',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=0; 4.啟動主從 mysql後,通過下述命令檢驗是否有問題:從庫:mysql> SHOW SLAVE STATUS\G; 
  1. Slave_IO_Running: yes 
  2. Slave_SQL_Running: Yes  如此就算是差不多了
  mysql資料庫同步出錯,跳過:mysql> slave stop;Query OK, 0 rows affected (0.01 sec) mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;Query OK, 0 rows affected (0.00 sec) mysql> slave start;Query OK, 0 rows affected (0.00 sec)
mysql資料庫主從同步:在主伺服器上建立一個mysql使用者,允許該用使用者從指定主機上登入,並授予檔案許可權

這明顯是就標點伺服器不對稱,單一好怎麼3個 還有最後一位怎麼能使逗號!!!!!!!!!!!!!!!!
 
Mysql 的主從複製,最多支援多少個資料庫同步,最佳的建議是幾個?

主從複製理論上支援無窮大的從庫個數,實際情況下,受伺服器頻寬和讀寫能力的影響
請參考mysql官方手冊的建議:
理論上,通過使用單個主伺服器/多從伺服器設定,可以通過添加更多的從伺服器來擴充系統,直到用完網路頻寬,或者你的更新負載已經增長到主伺服器不能處理的點。

在獲得的收益開始吃平之前,為了確定可以有多少從伺服器,以及可以將你的網站的效能提高多少,需要知道查詢模式,並且要通過基準測試並根據經驗確定一個典型的主伺服器和從伺服器中的讀取(每秒鐘讀取量,或者max_reads)輸送量和寫(max_writes)輸送量的關係。通過一個假設的帶有複製的系統,本例給出了一個非常簡單的計算結果。

假設系統負載包括10%的寫和90%的讀取,並且我們通過基準測試確定max_reads是1200 –2 × max_writes。換句話說,如果沒有寫操作,系統每秒可以進行1,200次讀取操作,平均寫操作是平均讀操作所用時間的兩倍,並且關係是線性。我們假定主伺服器和每個從伺服器具有相同的效能,並且我們有一個主伺服器和N個從伺服器。那麼,對於每個伺服器(主伺服器或從伺服器),我們有:

reads = 1200 – 2 × writes

reads = 9 × writes / (N + 1) (讀取是分離的, 但是寫入所有伺服器)

9 × writes / (N + 1) + 2 × writes = 1200

writes = 1200 / (2 + 9/(N+1))

最後的等式表明了N個從伺服器的最大寫運算元,假設最大可能的讀取速率是每分鐘1,200次,讀操作與寫操作的比率是9。

如上分析可以得到下面的結論:

· 如果N = 0(這表明沒有複製),系統每秒可以處理大約1200/11 = 109個寫操作。

· 如果N = 1,每秒得到184個寫操作。

· 如果N = 8,每秒得到400個寫操作。

· 如果N = 17,每秒得到480個寫操作。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.