程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql用戶權限分配及主從同步復制

mysql用戶權限分配及主從同步復制

編輯: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 configure server-id = 1 log-bin=mysql-bin binlog-do-db=master binlog-ignore-db=mysql #master configure datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock

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

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

3.從: 配置slave的my.cnf: [mysqld] #configure master-slave server-id=2 #master-host=192.168.74.225 #master-user=rep #master-password=hello replicate-ignore-db=mysql replicate-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)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved