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 的username是root,無password,

slave:10.46.169.62  mysql5.5 slave   的username是root,無password,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 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-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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM