1. 程式人生 > >Linux學習筆記5月16日任務

Linux學習筆記5月16日任務

mysql主從搭建

說明:有不少同學不能一次性把實驗做成功,這是因為還不熟悉,建議至少做3遍


17.1 MySQL主從介紹

技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片


17.2 準備工作


準備兩臺電腦,都安裝mysql,並啟動,操作相同,如下;

#ps aux | grep mysql

下載mysql,#wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz //下載mysql

#cd /usr/local/src/

#ls

解壓mysql,#tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

#mv mysql-5.6.36 /usr/local/mysql

#cd /usr/local/mysql/

事先創建一個mysql用戶,然後下一步

#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

#echo $? //如果為0,表示安裝成功;或者安裝過程中,提示兩個OK;

#vim /etc/my.cnf //修改以下內容

datadir=/data/mysql

socket=/tmp/mysql.sock

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

#vim /etc/init.d/mysqld //修改以下內容

basedir=/usr/local/mysql

datadir=/data/mysql

#/etc/init.d/mysqld start

//若啟動報錯,查錯誤日誌如下

#cd /data/mysql

#ls

#tail aminglinux-01.err

#less !$

#ls -l /data/mysql

#chown -R mysql:mysql

#/etc/init.d/mysqld start

#!ps

設置開機啟動#chkconfig mysqld on


17.3 配置主

技術分享圖片

技術分享圖片

#vim /etc/my.cnf

[mysqld]裏增加下面兩行

server-id=130

log_bin=aminglinux1

#/etc/init.d/mysqld restart

#ls -lt //可以看到多個以aminglinux1開頭的文件,非常重要;

#mysqldump -uroot -paminglinux blog > /tmp/blog.sql

#du -sh /tmp/blog.sql

#mysql -uroot -e "create database aming"

#mysql -uroot aming < /tmp/blog.sql

#mysql -uroot -paminglinux

mysql> grant replication slave on *.* to 'repl'@slave_ip identified by 'password'

mysql> flush tables with read lock;

mysql> show master status; //記住file,position,

mysql> quit

備份,#mysqldump -uroot -paminglinux mysql2 > /tmp/my2.sql

備份,#mysqldump -uroot -paminglinux zrlog > /tmp/zrlog.sql


17.4 配置從

技術分享圖片

技術分享圖片

#vim /etc/my.cnf //增加server-id=131,131為IP最後數字,也可以隨便定義;

#/etc/init.d/mysqld restart

#ls /data/mysql

#scp 192.168.133.130:/tmp/*.sql /tmp/

#alias 'mysql=/usr/local/mysql/bin/mysql'

#alias 'mysqldump=/usr/local/mysql/bin/mysqldump'

#mysql -uroot

mysql> create database aming;

mysql> create database zrlog;

mysql> create database blog;

mysql> create database mysql2;

mysql> quit

#mysql -uroot blog < /tmp/blog.sql

#mysql -uroot zrlog< /tmp/zrlog.sql

#mysql -uroot aming </tmp/blog.sql

#mysql -uroot mysql2 < /tmp/my2.sql

#mysql -uroot

mysql> stop slave;

mysql> change master to master_host='192.168.133.130',master_user='repl',master_password='aminglinux111',master_log_file='aminglinux1.000001',master_log_pos=474566;

mysql> start slave;

mysql> show slave status\G


17.5 測試主從同步

技術分享圖片

技術分享圖片

主上操作如下:

#mysql -uroot aming

mysql>select count(*) from db;

mysql>truncate table db;

從上操作如下:

#mysql -uroot aming

mysql>select count(*) from db;

技術分享圖片技術分享圖片

有的同學,遇到主從不能正常同步,提示uuid相同的錯誤。這是因為克隆機器導致。

https://www.2cto.com/database/201412/364479.html


Linux學習筆記5月16日任務