天天看點

mysql5.7.17主從複制_mysql5.7安裝與主從複制

一、      下載下傳mysql5.7

http://mirrors.sohu.com/mysql/MySQL-5.7/

Linux下載下傳:

輸入指令:wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

二、      建立使用者,以及mysql的目錄

1、         建立一個mysql的組

輸入指令: groupadd mysql

2、         建立mysql使用者,并放到mysql組

輸入指令:useradd -r -g mysql mysql

3、         給mysql使用者設定密碼

輸入指令:passwd mysql

三、      解壓mysql

1、         把下載下傳的mysql的包移動到Linux虛拟機下

2、         把tar包複制一份到/usr/local 目錄下

輸入指令:mv /software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz /usr/local

3、         解壓

輸入指令:cd /usr/local

輸入指令:tar xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

4、         把解壓出來的檔案改下名字,改為mysql

輸入指令:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql

四、      配置相關的啟動配置檔案

1、         複制my_default.cnf到/etc/my.cnf (mysql啟動時自動讀取)

輸入指令:cp my-default.cnf /etc/my.cnf

2、         解決亂碼問題

輸入指令:vi /etc/my.cnf

更改:

[mysql]

default-character-set=utf8

[mysqld]

default-storage-engine=INNODB

character_set_server=utf8

3、         複制mysql.server 到/etc/init.d/

輸入指令:cp mysql.server /etc/init.d/mysql

4、         修改 /etc/init.d/mysql 參數,給予2個目錄位置

輸入指令:vi /etc/init.d/mysql

更改:basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

5、         給目錄/usr/local/mysql 更改擁有者

輸入指令:chown -R mysql:mysql /usr/local/mysql/

五、      初始化mysql的資料庫

1、         初始化資料庫

首先要去到mysql/bin目錄下

老版本的指令:mysql_install_db

新版本的指令:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成出一個data目錄,代表資料庫已經初始化成功

2、         給資料庫加密

輸入指令:./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

3、         啟動mysql

輸入指令:./mysqld_safe --user=mysql &

&符号:把目前程序丢給背景

六、      進入用戶端

1、         登入

輸入指令:./mysql -uroot -p

然後輸入你的臨時密碼

2、         修改密碼

輸入指令:set password=password('你的密碼');

七、      window遠端通路Linux虛拟機的mysql

1、         首先要關閉防火牆,這樣window才能連接配接上

輸入指令:systemctl stop firewalld.service

2、         給window授權

輸入指令: grant all privileges on *.* to root@'%' identified by '123456';

3、         window遠端連接配接

輸入指令:mysql –hIP位址 -uroot -p123456

八、  設定開機自動啟動mysql服務

1、  添加服務mysql

輸入指令:chkconfig --add mysql

2、  設定服務開機自啟

輸入指令:chkconfig mysql on

九、設定path環境變量

輸入指令:vi /etc/profile

設定環境變量:export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH

配置好環境變量後,我們就不用再去到/usr/local/mysql/bin目錄才能登入了,現在可以在任意目錄下登入mysql

十、完成

這樣我們的mysql資料庫就配置好了

主從複制

1.修改主伺服器master:

#vi /etc/my.cnf

[mysqld]

log-bin=mysql-bin   //[必須]啟用二進制日志

server-id=1      //[可以和IP最後一樣] 伺服器唯一ID,預設是1,一般取IP最後一段

2.修改從伺服器slave:

#vi /etc/my.cnf

[mysqld]

log-bin=mysql-bin   //[不是必須]啟用二進制日志

server-id=2     //[可以和IP最後一樣] 伺服器唯一ID,預設是1,一般取IP最後一段

3./etc/init.d/mysql restart//重新開機

4.在主伺服器上建立帳戶并授權slave:

mysql>use mysql      //使用

select * from user\G;//檢視使用者

grant replication slave on *.* to 'mysync'@'10.101.110.%' identified by 'root';//設定是以ip都可以通路,也可以寫固定ip

flush privileges;//重新整理

mysql -umysync -p //進入mysql

mysql -uroot -p //進入root

mysql -uroot -p //檢視狀态

5.操作從伺服器

use mysql;    //使用

select * from user\G;//檢視使用者

stop slave; //停止主從複制服務

show slave status\G;//檢視狀态是否ok

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

顯示OK;

6.如果是克隆的虛拟機需要執行以下操作

關閉防火牆   systemctl stop firewalld.service

locate auto.cnf//檢視auto.cnf 在那個位置

//進入auto.cnf

[auto]

server-uuid=65936c91-b2db-11e7-89db-000c2916dc12

的最後一位改變;

mysql restart//重新開機

show slave status\G;//檢視狀态是否ok

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

顯示OK;