Centos7安裝設置MySQL以及主從配置詳細

1、Mysql服務器安裝:

一、下載安裝mysql的yum Repository:

[root@bogon soft]# mkdir /usr/local/soft/mysql
[root@bogon soft]# cd /usr/local/soft/mysql
[root@bogon mysql]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

上邊下載了yum Repository,接下來便可安裝yum Repository:mysql

[root@bogon mysql]# yum -y install mysql57-community-release-el7-10.noarch.rpm

二、安裝MySQL服務器:

[root@bogon mysql]# yum -y install mysql-community-server

說明mysql已安裝完成了。sql

2、Mysql服務器設置:

一、啓動mysql服務(任何目錄下均可以):

[root@bogon ~]# systemctl start mysqld.service

設置開機啓動:數據庫

[root@bogon ~]# systemctl enable mysqld.service

二、查看mysql服務器運行狀態:

[root@bogon ~]# systemctl status mysqld.service

三、獲取MySQL默認的root用戶的密碼:

[root@bogon ~]# grep "password" /var/log/mysqld.log

根據上邊的提示,root的密碼爲:/c8dHFj8GLozvim

四、進入數據庫:

[root@bogon ~]# mysql -uroot -p

輸入上邊的密碼進入。centos

五、修改root帳號的密碼:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOU/password@121';
YOU/password@121替換爲本身定義的密碼,注意須要小寫和大寫以及符號組成,否則會修改失敗。

六、建立用戶以及分配權限:

語法命令:服務器

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username:更換爲你的用戶名。
host:受權的地址,若是是本地可以使用localhost,也可直接指定ip,所有受權使用 %。
password:更換爲你的密碼

例如:
mysql> CREATE USER 'youname'@'%' IDENTIFIED BY 'YOU/password@121';

七、用戶帳號受權

語法命令:tcp

GRANT privileges ON databasename.tablename TO 'username'@'host'

privileges:用戶的操做權限,若是授予全部權限則使用all.ide

databasename:數據庫名稱。tablename:表名。若是要給該用戶授予對全部操做權限則可用*表示,例如*.*編碼

例如:centos7

test_admin2用戶設置test_db的只讀(select)權限
mysql> GRANT SELECT ON test_db.* TO 'test_admin2'@'%';

 

  設置youname用戶的全部權限,而且開啓遠程訪問:

mysql> grant all privileges on *.* to 'youname'@'%' identified by 'YOU/password@121' with grant option;

其中的 % 表示 開啓全部的權限,若是隻開啓某一個ip,那麼把%替換爲ip地址就可。

刷新權限(設置完成後,必須進行設置):

mysql> flush privileges;

查看用戶受權信息:

mysql> SHOW GRANTS FOR 'youname'@'%';

八、設置更改mysql語言:

查看,mysql狀態:

mysql> status

根據上圖看出Server 和Db的編碼不是utf-8。

先退出當前mysql

mysql> exit

編輯my.cnf:

[root@bogon ~]# vim /etc/my.cnf

鍵盤輸入 「i」 進入編輯狀態,插入如下內容:

[client]
# 默認編碼爲utf8
default-character-set=utf8

......

# 設置服務編碼
character-set-server=utf8
# 設置校對規則
collation-server=utf8_general_ci

圖下圖:

 鍵盤按下ESC退出編輯模式,鍵盤輸入「:wq」保存並退出,重啓mysql:

[root@bogon ~]# service mysqld restart

再次查看,mysql狀態:

[root@bogon ~]# mysql -uroot -p

輸入密碼後查詢狀態:

mysql> status

輸出如圖所示:

說明修改過來了。

退出mysql:

mysql> exit

九、防火牆開放端口(3306):

[root@bogon ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

防火牆重起:

[root@bogon ~]# firewall-cmd --reload

十、mysql服務器經常使用命令:

查看MySQL運行狀態

systemctl status mysqld.service

關閉MySQL服務

systemctl stop mysqld.service

啓動MySQL命令:

systemctl start mysqld.service

重啓MySQL命令:

systemctl restart mysqld.service

3、主從設置:

MySQL 主從也被稱爲 複製、 AB 複製,簡單來講, 就是 A和B兩臺服務器,在A 服務器上 寫入數據, 服務器B上也會跟 着寫入數據 二者之間的數據是同步的。

MySQL 主從是基於 binlog的,主必須開啓 binlog 才能進行主從。

如今準備兩臺服務器,上邊都安裝了mysql。

主:192.168.30.110

從:192.168.30.111

一、設置MySQL主:

編輯my.cnf:

[root@bogon ~]# vim /etc/my.cnf

鍵盤輸入 「i」 進入編輯狀態,插入如下內容:

server-id=110
log_bin=centos7

以下圖所示:

 

 

鍵盤按下ESC退出編輯模式,鍵盤輸入「:wq」保存並退出,重啓mysql:

[root@bogon ~]# service mysqld restart

重啓之後,mysql的數據目錄下(編輯my.conf時上圖中的datadir的目錄)會生成兩個文件:centos7.index索引文件、centos7.000001日誌文件。

 

建立用戶,主從同步使用:

[root@bogon bin]# mysql -uroot -p
mysql> CREATE USER 'masterSlaveUser'@'129.168.30.%' IDENTIFIED BY 'weiLAI@119';
mysql> grant all privileges on *.* to 'masterSlaveUser'@'129.168.30.%' identified by 'weiLAI@119';

第一句:建立用戶名爲:masterSlaveUser,受權的地址:129.168.30.%    %表示全部,密碼:weiLAI@119

第二句:受權該帳號在地址129.168.30.%下的全部權限。

刷新權限(設置完成後,必須進行設置):

mysql> flush privileges;

查詢binlog日誌須要監聽的端口,從須要使用:

mysql> SHOW MASTER STATUS;

如圖所示:

 

 

二、設置MySQL從:

編輯my.cnf:

[root@bogon ~]# vim /etc/my.cnf

鍵盤輸入 「i」 進入編輯狀態,插入如下內容:

server-id=111

備註:

此處的server-id=111是從的地址,和主不一樣。

此處不須要配置log_bin,從不須要二進制日誌文件。

鍵盤按下ESC退出編輯模式,鍵盤輸入「:wq」保存並退出,重啓mysql:

[root@bogon ~]# service mysqld restart

 

重點來了:

鏈接主數據庫:

[root@bogon bin]# mysql -uroot -p

change master to master_host='192.168.30.110',
master_port=3306,
master_user='masterSlaveUser',
master_password='weiLAI@119',
master_log_file='centos7.000001',
master_log_pos=875;

備註:

(1)第一句:鏈接主mysql,地址爲:192.168.30.110

(2)鏈接的端口、使用的帳號、密碼

(3)後邊兩個是日誌文件和端口,此處的875就是主查看日誌的端口

如圖所示:

 

 而後輸入一下命令,啓動從:

mysql> start slave;

查看是否成功:

mysql> show slave status\G

Slave_IO_ Running和Slave_SQL _Running 都爲yes,即爲成功。

 

主從同步必須關閉防火牆,不然不會顯示 Yes

 

至此mysql安裝和配置完成。

相關文章
相關標籤/搜索