下文內(nèi)容主要給大家?guī)韒ysql主從搭建方法,所講到的知識,與書籍略有不同,都是創(chuàng)新互聯(lián)專業(yè)技術人員在與用戶接觸過程中,總結出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、
雅安服務器托管、營銷軟件、網(wǎng)站建設、
劍河網(wǎng)站維護、網(wǎng)站推廣。
主庫搭建好后:
1、打包備份數(shù)據(jù)
(1)對數(shù)據(jù)庫鎖表只讀
>flush table with read lock;
(2)默認情況下自動解鎖的時間
>show variables like '%timeout%';
(3)鎖表后查看主庫狀態(tài)
信息要記錄在案,從庫連接主庫時需要用到
>show master status;

或
# mysql -uroot -p123456 -S/data/3306/mysql.sock -e "show master status"
(4)鎖表后開新的窗口,數(shù)據(jù)量很大(50G以上),允許停機,停機打包
#mkdir -p /server/backup
(5)打包數(shù)據(jù)
#mysqldump -uroot -p123456 -S /data/3306/mysql.sock--events \
-A -B|gzip >/server/backup/mysql_bak.$(date +%F).sql.gz
(6)解鎖數(shù)據(jù)庫
#unlock tables;
從庫搭建
1、安裝MySQL需要的依賴包和編譯軟件
(1)安裝MySQL需要的依賴包
#yum install ncurses-devel libaio-devel -y
(2)安裝編譯MySQL需要的軟件
#tar xf cmake-2.8.8.tar.gz#cd cmake-2.8.8#./configure#gmake && gmake install
或者直接yum安裝
#yum -y install cmake
2、開始安裝MySQL數(shù)據(jù)庫
(1)建立MySQL用戶
#useradd -s /sbin/nologin -M mysql
(2)采用編譯方式安裝MySQL
#tar xf mysql-5.5.49.tar.gz#cd mysql-5.5.49#cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.49\
-DMYSQL_DATADIR=/application/mysql-5.5.49/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.49/tmp/mysql.sock\
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0#make && make install#ln -s /application/mysql-5.5.49/ /application/mysql
(3)配置從庫配置文件
#mkdir –p /data/3307/data#vim /data/3307/my.cnf[client]
port = 3307
socket = /data/3307/mysql.sock
[mysql]
no-auto-rehash
[mysqld]
user =mysql
port =3307
socket =/data/3307/mysql.sock
basedir = /application/mysql
datadir = /data/3307/data
open_files_limit = 1024
back_log = 600
max_connections = 800
max_connect_errors = 3000
table_cache = 614
external-locking = FALSE
max_allowed_packet =8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
thread_concurrency = 2
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
#default_table_type = InnoDB
thread_stack = 192K
#transaction_isolation = READ-COMMITTED
tmp_table_size = 2M
max_heap_table_size = 2M
long_query_time = 1
#log_long_format
#log-error = /data/3307/error.log
#log-slow-queries = /data/3307/slow.log
pid-file = /data/3307/mysql.pid
log-bin = /data/3307/mysql-bin
relay-log = /data/3307/relay-bin
relay-log-info-file = /data/3307/relay-log.info
binlog_cache_size = 1M
max_binlog_cache_size = 1M
max_binlog_size = 2M
expire_logs_days = 7
key_buffer_size = 16M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 1M
#myisam_sort_buffer_size = 1M
#myisam_max_sort_file_size = 10G
#myisam_max_extra_sort_file_size = 10G
#myisam_repair_threads = 1
#myisam_recover
lower_case_table_names = 1
skip-name-resolve
slave-skip-errors = 1032,1062
replicate-ignore-db=mysql
server-id = 3
innodb_additional_mem_pool_size = 4M
innodb_buffer_pool_size = 32M
innodb_data_file_path = ibdata1:128M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 4M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0
[mysqldump]
quick
max_allowed_packet = 2M
[mysqld_safe]
log-error=/data/3307/mysql_3307.err
pid-file=/data/3307/mysqld.pid
(4)配置從庫啟動文件
#vim /data/3307/mysql
#!/bin/sh
################################################
#init
port=3307
mysql_user="root"
mysql_pwd="123456"
CmdPath="/application/mysql/bin"
mysql_sock="/data/${port}/mysql.sock"
#startup function
function_start_mysql()
{
if [ ! -e"$mysql_sock" ];then
printf "Starting MySQL...\n"
/bin/sh${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 >/dev/null &
else
printf "MySQL isrunning...\n"
exit
fi
}
#stop function
function_stop_mysql()
{
if [ ! -e "$mysql_sock"];then
printf "MySQL isstopped...\n"
exit
else
printf "StopingMySQL...\n"
${CmdPath}/mysqladmin-u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
fi
}
#restart function
function_restart_mysql()
{
printf "RestartingMySQL...\n"
function_stop_mysql
sleep 2
function_start_mysql
}
case $1 in
start)
function_start_mysql
;;
stop)
function_stop_mysql
;;
restart)
function_restart_mysql
;;
*)
printf "Usage:/data/${port}/mysql {start|stop|restart}\n"
esac
(5)修改文件權限
#chown -R mysql.mysql /data#chmod 700 /data/3307/mysql
配置全局變量
#echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile#source /etc/profile
初始化數(shù)據(jù)庫
#cd /application/mysql/scripts#./mysql_install_db--basedir=/application/mysql --datadir=/data/3307/data --user=mysql
啟動數(shù)據(jù)庫
#/data/3307/mysql start
登錄數(shù)據(jù)庫
#mysql -S /data/3307/mysql.sock
設置登陸密碼
#mysqladmin -u root -S /data/3307/mysql.sockpassword '123456'#mysql -uroot -p -S /data/3307/mysql.sock
降權啟動
#find /data -type f -name "mysql"|xargschmod 700#find /data -type f -name "mysql" -execchown root.root {} \;
設置開機自啟
#echo "#mysql multi instances">>/etc/rc.local#echo "/data/3307/mysql start">>/etc/rc.local
登錄數(shù)據(jù)庫
#mysql -uroot -p123456 -S /data/3307/mysql.sock#show variables like 'server_id';
刪除不需要的庫
#select user,host from mysql.user;#drop user 'root'@'::1';#drop user ''@'db02';#drop user 'root'@'db02';#drop user ''@'localhost';#flush privileges;
從庫連接主庫配置信息
登錄從庫執(zhí)行
>CHANGE MASTER TO
>MASTER_HOST='10.0.0.51', <==主庫IP
>MASTER_PORT=3306, <==主庫端口號
>MASTER_USER='rep', <==復制帳號
>MASTER_PASSWORD='123456', <==rep用戶的密碼
>MASTER_LOG_FILE='mysql-bin.000002',<==主庫執(zhí)行showmaster status;查看到的二進制日志文件名稱
>MASTER_LOG_POS=729; <==主庫執(zhí)行show master status;查看到的二進制日志偏移
啟動從庫復制開關
#mysql -uroot -p123456 -S /data/3307/mysql.sock -e"start slave;"#mysql -uroot -p123456 -S /data/3307/mysql.sock -e"show slave status\G;"Slave_IO_Running: Yes
Slave_SQL_Running: Yes
其中顯示有上面兩行內(nèi)容表示主從以開始同步
將主庫打包數(shù)據(jù)還原到從庫
# gzip -dmysql_bak.2016-08-25.sql.gz# mysql -uroot -p123456 -S/data/3307/mysql.sock <mysql_bak.2016-08-25.sql
對于以上關于mysql主從搭建方法,如果大家還有更多需要了解的可以持續(xù)關注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:mysql主從搭建方法-創(chuàng)新互聯(lián)
分享鏈接:http://jinyejixie.com/article42/ddeohc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站改版、網(wǎng)站內(nèi)鏈、定制網(wǎng)站、品牌網(wǎng)站設計、App開發(fā)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯(lián)