master主機mysql安裝配置mysql
1.下載mariadb(Centos7開始mysql的名字)sql
(1)其它方式(不推薦):rpm安裝/軟件源安裝數據庫
(2)yum安裝(推薦):vim
①centos官方的yum源(功能少)centos
②阿里雲的yum源(精簡版)安全
配置yum源倉庫:/etc/yum.repos.d(yum工具介紹已經配置)ide
yum install mariadb-server mariadb 工具
③mysql官方的yum源(下載較慢,文件完整性最好)阿里雲
A.手動配置倉庫目錄:編碼
a.找到yum倉庫目錄,建立repo文件-------touch /etc/yum.repos.d/mariadb.repo
b.寫入指定的mysql官方yum源
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
c.此時yum會自動的加載這個repo文件,讀取內容
d.下載mariadb數據庫,服務端和客戶端
B.yum install MariaDB-server MariaDB-client
2.啓動mariadb數據庫
systemctl start mariadb---------用管理工具啓動數據庫
systemcrl status mariadb-------查看狀態,或者ps進程,netstat端口信息
3.初始化數據庫,清除匿名用戶,以及test數據庫,保證數據庫安全,容許mysql遠程登陸
mysql_secure_installation---------初始化命令
注意容許遠程登錄
4.修改mariadb數據庫的的中文支持
(1)\s查看數據庫編碼信息
(2)修改配置文件(yum源安裝的在/etc/my.cnf),支持中文
vim /etc/my.cnf
#服務端的編碼添加以下內容
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
#客戶端的編碼以下
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
5.mysql遠程登陸的設置
grant all privileges on *.* to root@'%' identified by '123456';---------------不受權,遠程沒法登錄
6.數據庫的備份與恢復
備份-----mysqldump -uroot -p --all-databases > /tmp/alldata.sql
恢復:
方式一:進入數據庫,執行source命令讀取sql文件:
(1)mysql -uroot -h192.168.160.134 -p
(2)source /tmp/alldata.sql
方式二:使用登陸命令導入數據
mysql -uroot -p < /tmp/alldata.sql
方式三:數據量較大時,使用第三方工具
7.mysql主從複製(master-slave)
主從機安裝好mariadb數據庫
master主機:
(1)修改mysql配置文件,開啓binlog日誌功能------vim /etc/my.cnf
#服務端添加一下代碼
[mysqld]
server-id=1
log-bin=mastermysql-bin
(2)重啓數據庫生效binlog日誌文件--------systemctl restart mariadb
(3)登陸數據庫---------mysql -uroot -p
(4)主庫master建立用於主從複製的用戶---------create user 'abc'@'%' identified by '123456';
(5)受權slave給主從複製的用戶:
grant replication slave on *.* to 'abc'@'%';
grant select on *.* to 'abc'@'%';-------------受權查看給主從複製帳號,以便後期登陸使用
(6)進行鎖表,防止在主從複製設置過程當中數據寫入------flush table with read lock;
(7)導出當前master主庫數據,發送給slave從庫,保證起點的一致性:
mysqldump -uroot -p --all-databases > /tmp/alldata.sql
scp /tmp/alldata.sql root@192.168.160.130:/tmp/
(8)slave從庫機讀取/tmp/alldata.sql進行master主庫數據同步,刪除多餘數據庫,同時進行slave從庫機配置
(9)slave從庫機配置完後才能後,解鎖,進行數據寫入,查看從庫是否正常執---------解鎖-----------unlock tables;
slave從機mysql安裝配置
下載安裝同master主機
下載mariadb-------------啓動mariadb----------------是否初始化自選
7-(8)-1.將master主機的數據庫備份文件發送到slave進行恢復
目的是保持主從數據庫的數據和配置的一致性
mysql -uroot -p < /tmp/alldata.sql
刪除多餘的數據庫
7-(8)-2.修改slave從庫機的配置文件,開啓id, 設爲只讀模式-----------vim /etc/my.cnf
#服務端添加一下代碼
[mysqld]
server-id=1000
read-only=true
7-(8)-3.重啓slave從庫機的mariadb數據庫----------systemctl restart mariadb
7-(8)-4.登陸slave從庫機數據庫-----------mysql -uroot -p
7-(8)-5.執行命令,創建主從複製關係
change master to master_host='192.168.160.134', --主庫master地址
master_user='abc', --用於主從複製在主庫建立的用戶
master_password='123456', --用於主從複製在主庫建立的用戶密碼
master_log_file='mastermysql-bin.000001', --主庫biinary log日誌文件,主庫my.cnf配置了日誌名
master_log_pos=616; --主庫數據起點(在主庫mysql中執行命令show master status能夠查看)
7-(8)-6.開啓從庫的slave功能-----start salve;
7-(8)-7查看從庫的狀態,檢測是否複製成功:
show slave status\G ;
查看以下兩個參數是不是yes,主從複製即爲正確:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
7-(8)-8.重啓數據庫進入,此時須要輸入密碼,也可以使用主從複製帳號登陸,和主庫機的帳號密碼同樣,回到主機進行解鎖操做