mysql數據庫安裝及主從複製配置詳解

一、linux上安裝mysql(命令中空格格式可能不正確,需要在linux上重新刪除輸入空格)

1.下載mysql安裝包(也可以去官方網站下載解壓)

    wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

2.解壓安裝包

 tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

3.移動解壓後的mysql目錄,將當前目錄下的解壓包移動到/usr/local/目錄下,並改名爲mysql

    mv mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

4.添加用戶組和用戶

  #添加用戶組

  groupadd mysql

  #添加用戶mysql 到用戶組mysql

  useradd -g mysql mysql

  #查看系統用戶是否存在mysql

  cat /etc/passwd

5.切換到/usr/local/mysql目錄,安裝

   #切換目錄

   cd /usr/local/mysql/

   #安裝

   scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

6.複製mysql服務到啓動目錄下,並授權

     #複製

  cp support-files/mysql.server /etc/init.d/mysqld

  #授權  

  chmod 755 /etc/init.d/mysqld

7.複製mysql配置文件到配置文件最優先讀取位置

  #查看mysql配置文件讀取優先級順序,最前面的路徑最優先讀取,找不到則往後讀

  /usr/local/mysql/bin/mysql --verbose --help|grep -A 1 'Default options'

  #複製

   cp support-files/my-default.cnf /etc/my.cnf

8.修改啓動腳本

  vi /etc/init.d/mysqld

  #修改項:

  basedir=/usr/local/mysql/

  datadir=/usr/local/mysql/data

9.啓動mysql服務

  service mysqld start

10.測試連接

      bin/mysql -uroot

     能進入數據庫說明連接成功,數據庫已經安裝完成!退出mysql(exit;)下面進行一些配置

11.修改環境變量,添加mysql環境變量

     export PATH=$PATH:/usr/local/mysql/bin

 設置變量的三種方法

1. 在/etc/profile文件中添加變量【對所有用戶生效(永久的)】

用vi在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,並且是“永久的”。

例如:編輯/etc/profile文件,添加CLASSPATH變量

# vi /etc/profile
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar;$JAVA_HOME/lib/dt.jar

注:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。

2. 在用戶目錄下的.bash_profile文件中增加變量【對單一用戶生效(永久的)】

用VI在用戶目錄下的.bash_profile文件中增加變量,改變量僅會對當前用戶有效,並且是“永久的”。

例如:編輯li用戶目錄(/home/li)下的.bashrc

$ vi /home/li/.bashrc

添加如下內容:
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar;$JAVA_HOME/lib/dt.jar

注:修改文件後要想馬上生效還要運行$ source /home/li/.bashrc不然只能在下次重進此用戶時生效。

3. 直接運行export命令定義變量【只對當前shell(BASH)有效(臨時的)】
如:export PATH=$PATH:/usr/local/mysql/bin

12.設置mysql的遠程訪問

   (1)打開端口3306的防火牆

            /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

           /etc/rc.d/init.d/iptables save ---將修改永久保存到防火牆中

(2)設置數據庫遠程訪問權限,先登錄mysql數據庫

        #授權並創建用戶

         grant all privileges on *.* to 'myuser' @'%' identified by '123456';

         #刷新權限

         flush privileges; 

         #查詢用戶是否存,是否授權,\G爲換行顯示命令

          select * from mysql.user\G;

'all privileges ':所有權限 也可以寫成 select ,update等。
'myuser' 用戶,如果沒有則自動創建
 *.* 所有庫的所有表 如 databasename.*。
 %  數據庫所在的IP,%標識所有IP。
 identified by ‘密碼’ 表示通過密碼連接

 

二、mysql主從複製配置

      複製原理:
             Mysql中有一種日誌叫做bin日誌(二進制日誌)。這個日誌會記錄下所有修改了數據庫的SQL語句(insert,update,delete,ALTER TABLE,grant等等)。
             主從複製的原理其實就是把主服務器上的BIN日誌複製到從服務器上執行一遍,這樣從服務器上的數據就和主服務器上的數據相同了。

主從複製配置過程:
    主節點:
        啓用二進制日誌。
        爲當前節點設置一個全局唯一的server_id。
        創建有複製權限的用戶賬號 REPLIACTION SLAVE ,REPLIATION CLIENT。
    從節點:
        啓動中繼日誌。
        爲當前節點設置一個全局唯一的server_id。
        使用有複製權限的用戶賬號連接至主節點,並啓動複製線程。

1.如上操作在兩個服務器安裝mysql,其中主服務器必須設置遠程訪問權限

2.配置主節點

   進入主節點服務器然後打開my.cnf配置文件

     vi /etc/my.cnf
添加:log-bin = mysql-bin
添加:binlog_format=mixed
添加 :server-id =1
添加:innodb-file-per-table =ON
添加:skip_name_resolve=ON

保存後重啓mysql服務,重連mysql

service mysqld restart

 

3.在主節點創建從節點訪問主節點權限的用戶

 grant all privileges on *.* to slave@'從節點IP' identified by '123456';

至此,主節點配置完成!

 查看二進制日誌log_bin是否開啓:show global variables like '%log%';

查看主節點server_id:show global variables like '%server%';

查看主節點二進制日誌列表:show master logs;

4.從節點配置

vi /etc/my.cnf

  • 添加:relay-log=relay-log
  • 添加:relay-log-index=relay-log.index
  • 添加:server-id=2
  • 添加:innodb_file_per_table=ON
  • 添加:skip_name_resolve=ON

重啓從節點數據庫

service mysqld restart

5.從節點登陸mysql

查看二進制日誌log_bin是否開啓:show global variables like '%log%';

查看主節點server_id:show global variables like '%server%';

6.在從節點配置訪問主節點的參數信息
注意:主節點的二進制文件一定要是二進制列表中的最後一個二進制文件。

 CHANGE MASTER TO MASTER_HOST='主節點IP',MASTER_USER='slave',MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=407;

注意:slave爲剛纔在主節點創建的用戶

至此,從節點配置完成!

查看從節點狀態:show slave status\G;

此時未啓動從節點複製線程,因此兩個線程都未啓動,啓動複製線程:start slave;

在查看從節點狀態,都是yes

7.測試

在主節點任意增刪改操作,從節點都同步複製!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章