日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL 5.7.18的安装与主从复制(转自:https://www.baidu.com/home/news/data/newspage?nid=9485770887287731252n_typ)

發布時間:2024/9/27 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL 5.7.18的安装与主从复制(转自:https://www.baidu.com/home/news/data/newspage?nid=9485770887287731252n_typ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CentOS6.7安裝mysql5.7.18

  1、 解壓到/usr/local目錄

    # tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /usr/local

  2、 mysql-5.7.18-linux-glibc2.5-i686文件夾重命名為mysql

    # cd /usr/local

    # mv mysql-5.7.18-linux-glibc2.5-i686/ mysql

  3、 新建mysql用戶組和mysql用戶

    # groupadd mysql

    # useradd -r -g mysql mysql

  4、 新建數據目錄

    # cd /usr/local/mysql

    # mkdir data

  5、 更改所有者以及授權755

    # cd /usr/local

    # chown -R mysql:mysql mysql/

    # chmod -R 755 mysql/

  6、 初始化mysqld

    # cd /usr/local/mysql

    # ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

    

    記錄下root的初始密碼: GjlI08>p4kDw

  7、 將mysqld添加成服務,并啟動它

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

    建立mysql默認的配置文件/etc/my.cnf,并添加圖片中內容

    

    # vim /etc/my.cnf

    保存并退出my.cnf,啟動mysqld

    # service mysqld start

    出現如下信息表示啟動成功

    

    查看mysql是否啟動成功

    # ps -ef|grep mysql

    出現如下信息表示啟動成功

    

    當然也可以查看mysqld的狀態

    # service mysqld status

    

  8、 登錄mysql并修改root密碼

    # cd /usr/local/mysql

    # ./bin/mysql -uroot –p

    輸入初始密碼,步驟6中有生成,出現如下信息表示登錄成功

    

    修改root密碼

    mysql> SET PASSWORD = PASSWORD('123456');

    mysql> FLUSH PRIVILEGES;

    初次登錄沒有修改root的密碼,操作數據庫會出現如下錯誤提示,那么需要修改root用戶的密碼

      ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

  9、 設置mysql遠程可訪問(前提是防火墻必須關閉,chkconfig iptables off:設置自動啟動為關閉,service iptables sto:關閉防火墻)

    先登錄到mysql

    mysql> use mysql

    mysql> update user set host = '192.168.0.4' where user = 'root';

    mysql> FLUSH PRIVILEGES;

    192.168.0.4即是可遠程訪問本地mysql的遠程ip,若想任意ip都能訪問本地mysql,那么只需要將192.168.0.4換成%即可

    mysql> update user set host = '%' where user = 'root';

mysql主從復制

  windows上mysql做master,linux上mysql做slave,mysql版本是5.7.18;windows的ip為192.168.0.4,linux的ip為192.168.0.223

  1、master上開啟binlog日志

  在mysql的home目錄找到my.ini文件(沒有則新建),配置上如下內容

[mysqld] # set basedir to your installation path basedir=D:\\mysql-5.7.18# set datadir to the location of your data directory datadir=D:\\mysql-5.7.18\\data port= 3306

log-bin = mysql-bin #[必須]啟用二進制日志 server-id = 4#[必須]服務器唯一ID,默認是1,最好取ip的后3位 expire-logs-days = 7#只保留7天的二進制日志,以防磁盤被日志占滿 binlog-ignore-db =mysql #不備份的數據庫 binlog-ignore-db =information_schema binlog-ignore-db =performation_schema binlog-ignore-db =sys binlog-do-db=mybatis #需要做復制的數據庫名

  測試log_bin是否成功開啟

   mysql> show variables like '%log_bin%';

  出現下圖,log_bin為ON則表示開啟成功,OFF表示開啟失敗

    

  2、master的數據庫中建立備份賬號:backup為用戶名,%表示任何遠程地址,如下表示密碼為1234的任何遠程地址的backup都可以連接master主機

    mysql> grant replication slave on *.* to 'backup'@'%' identified by '1234';

    mysql> use mysql

    mysql> select user,authentication_string,host from user;

    可看到我們剛創建的備份賬號:

    

  3、拷貝數據

  重啟MySQL服務并設置讀取鎖定

      net stop MySQL

      net start MySQL

      登錄mysql

    mysql> flush tables with read lock;

    讀取鎖定的意思是只能讀取,不能更新,以便獲得一個一致性的快照

    查看主服務器上當前的二進制日志名和偏移量值

    mysql> show master status \G

    

    復制的過程如下:

    

    File表示實現復制功能的日志,即上圖中的Binary log;Position則表示binlog日志文件的偏移量之后的都會同步到slave中,那么在偏移量之前的則需要我們手動導入

   從master導出數據,然后導入到slave中

  另外開一個命令窗口,用mysqldump命令進行數據的導出

      

      將d:\a.txt拷貝到slave上,然后導入到mysql數據庫中,slave上的mybatis數據庫不存在則先創建,然后再導入

      

      導出是mysqldump,導入是mysql

  4、配置slave(192.168.0.223)

  slave是linux環境,mysql的配置文件是/etc/my.cnf,不存在則新建,配上如下內容

[mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql port=3306log-bin=mysql-bin server-id=223

   重啟slave數據庫

      # service mysqld restart

   登錄slave數據庫,并做如下設置

      mysql> stop slave;

      mysql> change master to

   master_host='192.168.0.4',

   master_user='backup',

   master_password='1234',

  master_log_file='mysql-bin.000005',

   master_log_pos=601;

  各個參數含義:

   master_host 實現復制的主機的IP地址

  master_user 實現復制的遠程登錄master的mysql的用戶,在步驟2有設置

   master_password 實現復制的遠程登錄master的mysql的面,在步驟2有設置

   master_log_file 實現復制的binlog日志文件 在步驟3標紅的框框中

  master_log_pos 實現復制的binlog日志文件的偏移量 在步驟3標紅的框框中

      mysql> start slave;

    查看slave從機的狀態

  mysql> show slave status \G

      

      

      若圖中標記的那兩項的值為Yes,則表示slave設置成功

  5、關閉掉主數據庫的讀取鎖定

   mysql> unlock tables;

  6、測試

    前面沒出問題的話,那么master上的mybatis數據的操作都會同步到slave的mybatis上

總結

以上是生活随笔為你收集整理的MySQL 5.7.18的安装与主从复制(转自:https://www.baidu.com/home/news/data/newspage?nid=9485770887287731252n_typ)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。