国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
實戰(zhàn) centos6.5下mysql
實戰(zhàn) centos6.5下mysql-5.6.19數(shù)據(jù)庫安裝、優(yōu)化、互為主從 mysql集群 高可用
作者:飲馬閃客 發(fā)布于:2014-8-7 22:00 Thursday 分類:數(shù)據(jù)相關(guān)

mysql互為主從環(huán)境介紹:

系統(tǒng):centos6.5_64_mini

mysql版本:mysql-5.6.19

實驗節(jié)點如下:

節(jié)點一:192.168.100.21
節(jié)點二:192.168.100.22

 

第一部分安裝需要用到的庫并刪除自帶mysql (節(jié)點一和二)
#  yum -y install gcc gcc-c++ ncurses ncurses-devel openssl openssl-devel cmake perl lsof wget bison
#  rpm -qa|grep mysql
#  rpm -e --allmatches --nodeps mysql-libs-5.1.71-1.el6.x86_64

 

第二部分MYSQL的安裝(節(jié)點一和二)
1:創(chuàng)建MySQL數(shù)據(jù)庫存放目錄、配置用戶和用戶組
#  /usr/sbin/groupadd mysql
#  /usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql
#  mkdir -p /yunwei8/mysql/data/
#  chown -R mysql:mysql /yunwei8/mysql/

 

2:創(chuàng)建軟件下載目錄,把所需軟件下載
#  mkdir /yunwei8/soft
#  cd /yunwei8/soft
wget http://down.yunwei8.com/soft/linux/mysql-5.6.19.tar.gz
wget http://down.yunwei8.com/soft/linux/libunwind-1.1.tar.gz
wget http://down.yunwei8.com/soft/linux/gperftools-2.2.tar.gz
 
3:安裝mysql-5.6.19
#  tar zxvf mysql-5.6.19.tar.gz
#  cd mysql-5.6.19
#  cmake -DCMAKE_INSTALL_PREFIX=/yunwei8/server/mysql -DMYSQL_DATADIR=/yunwei8/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc/ -DWITH_SSL=yes -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=on
#  make
#  make install
#  chmod +w /yunwei8/server/mysql
#  chown -R mysql:mysql /yunwei8/server/mysql/

 

4:創(chuàng)建軟連接
#  ln -s /yunwei8/server/mysql/lib/lib* /usr/lib/

 

5:創(chuàng)建my.cnf配置文件,并修改:
設(shè)置Mysql
#  cp /yunwei8/server/mysql/support-files/my-default.cnf /etc/my.cnf
#  vi /etc/my.cnf

 

在[mysqld]下添如下行
character-set-server = utf8
default-storage-engine = MyISAM
basedir = /yunwei8/server/mysql
datadir = /yunwei8/mysql/data
log-error = /yunwei8/mysql/mysql_error.log
pid-file = /yunwei8/mysql/mysql.pid
max_allowed_packet = 32M
explicit_defaults_for_timestamp = true

 

6:以mysql用戶賬號的身份建立數(shù)據(jù)表:
#  /yunwei8/server/mysql/scripts/mysql_install_db --basedir=/yunwei8/server/mysql --datadir=/yunwei8/mysql/data --user=mysql

 

7:設(shè)置mysql開機(jī)自動啟動服務(wù)
#  cp /yunwei8/server/mysql/support-files/mysql.server /etc/init.d/mysqld
#  chkconfig --add mysqld
#  chkconfig --level 345 mysqld on

 

8:修改服務(wù)配置文件
#  vi /etc/init.d/mysqld

 

根據(jù)設(shè)定需要,修改mysqld文件中的下面兩項
basedir=/yunwei8/server/mysql
datadir=/yunwei8/mysql/data

 

9:啟動mysqld服務(wù)
#  service mysqld start

 

10:通過命令行登錄管理MySQL服務(wù)器并設(shè)置root密碼(提示輸入密碼時直接回車):(節(jié)點一和二)
#  /yunwei8/server/mysql/bin/mysql -u root -p -S /tmp/mysql.sock
#  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('000000');
 
退出mysql
#  mysql> exit

 

11:軟連接mysql
#  ln -s /yunwei8/server/mysql/bin/mysql /usr/bin
 
12:嘗試用root連接mysql
#  mysql -u root -p

 

成功登錄后查看狀態(tài)
#  mysql> status;

 

第三部分:mysql優(yōu)化(節(jié)點一和二)
為MySQL添加TCMalloc庫的安裝步驟(Linux環(huán)境):
1:64位操作系統(tǒng)請先安裝libunwind庫,32位操作系統(tǒng)不要安裝。libunwind庫為基于64位CPU和操作系統(tǒng)的程序提供了基本的堆棧輾轉(zhuǎn)開解功能,其中包括用于輸出堆棧跟蹤的API、用于以編程方式輾轉(zhuǎn)開解堆棧的API以及支持C++異常處理機(jī)制的API。
首先安裝libunwind-1.1
#  cd /yunwei8/soft
#  tar zxvf libunwind-1.1.tar.gz
#  cd libunwind-1.1
#  CFLAGS=-fPIC ./configure
#  make CFLAGS=-fPIC
#  make CFLAGS=-fPIC install

 

2:安裝google-perftools:
#  cd /yunwei8/soft
#  tar zxvf gperftools-2.2.tar.gz
#  cd gperftools-2.2/
#  ./configure
#  make && make install
#  echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
#  /sbin/ldconfig

 

3:修改MySQL啟動腳本(根據(jù)你的MySQL安裝位置而定)
#  vi /yunwei8/server/mysql/bin/mysqld_safe

 

在# executing mysqld_safe的下一行,加上:
export LD_PRELOAD=/usr/local/lib/libtcmalloc.so

 

保存后退出,然后重啟MySQL服務(wù)器。
#  service mysqld restart

 

4:使用lsof命令查看tcmalloc是否起效:
#  /usr/sbin/lsof -n | grep tcmalloc

 

如果發(fā)現(xiàn)以下信息,說明tcmalloc已經(jīng)起效:
mysqld    11227 mysql  mem       REG                8,1  2171746      18287 /usr/local/lib/libtcmalloc.so.4.1.2

 

第四部分:mysql互為主從配置

第一步防火墻設(shè)置(節(jié)點一和二)
端口開放
#  /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

 

然后保存:
#  /etc/rc.d/init.d/iptables save

 

第二步配置mysql互為主從

1:登錄mysql數(shù)據(jù)庫(節(jié)點一和二)

#  mysql-u root -p 

 

2:建立需要同步的數(shù)據(jù)庫(節(jié)點一和二)

#  mysql> create database yunwei8;

 

3:添加一個遠(yuǎn)程用戶,名為yunwei8密碼為123456,并且只能對yunwei8數(shù)據(jù)庫有權(quán)限(節(jié)點一和二)

#  mysql> GRANT ALL PRIVILEGES ON yunwei8.* TO yunwei8@"%" IDENTIFIED BY '123456';

 

4:修改/etc/my.cnf文件(節(jié)點一)

#  rm -rf /etc/my.cnf

#  vi /etc/my.cnf

添加如下配置代碼

[client]
default-character-set = utf8
port            = 3306
socket          = /tmp/mysql.sock


[mysqld]
character-set-server = utf8
default-storage-engine = MyISAM
basedir = /yunwei8/server/mysql
datadir = /yunwei8/mysql/data
log-error = /yunwei8/mysql/mysql_error.log
pid-file = /yunwei8/mysql/mysql.pid
port            = 3306
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 32M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
thread_concurrency = 8

log-bin=mysql-bin
server-id = 1
binlog-do-db=yunwei8
replicate-do-db=yunwei8
binlog-ignore-db=mysql
replicate-ignore-db=mysql
sync_binlog=1
auto_increment_increment = 2
auto_increment_offset = 1
log-slave-updates
slave-skip-errors=all

[mysqldump]
quick
max_allowed_packet = 32M


[mysql]
no-auto-rehash


[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M


[mysqlhotcopy]
interactive-timeout

 

5:修改/etc/my.cnf文件(節(jié)點二)

#  rm -rf /etc/my.cnf

#  vi /etc/my.cnf

添加如下配置代碼

[client]
default-character-set = utf8
port            = 3306
socket          = /tmp/mysql.sock

[mysqld]
character-set-server = utf8
default-storage-engine = MyISAM
basedir = /yunwei8/server/mysql
datadir = /yunwei8/mysql/data
log-error = /yunwei8/mysql/mysql_error.log
pid-file = /yunwei8/mysql/mysql.pid

port            = 3306
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 32M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
thread_concurrency = 8

log-bin=mysql-bin
server-id       = 2
binlog-do-db=yunwei8
replicate-do-db=yunwei8
binlog-ignore-db=mysql
replicate-ignore-db=mysql
sync_binlog=1
auto_increment_offset = 2
auto_increment_increment = 2
log-slave-updates
slave-skip-errors=all


[mysqldump]
quick
max_allowed_packet = 32M


[mysql]
no-auto-rehash


[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M


[mysqlhotcopy]
interactive-timeout

 

6:重啟兩臺服務(wù)器的mysql(節(jié)點一和二)
#  service mysqld restart

 
7:給兩個節(jié)點授權(quán)同步賬戶, 賦予REPLICATION SLAVE權(quán)限(節(jié)點一和二)

#  mysql -u root -p
#  mysql> GRANT REPLICATION SLAVE ON *.* to 'abc'@'%' identified by 'abc';

 為abc用戶賦予任何數(shù)據(jù)庫中任何表上的REPLICATION SLAVE權(quán)限, 此用戶可以在網(wǎng)絡(luò)任意位置訪問, 訪問時以密碼abc標(biāo)記

 

8:開啟一個權(quán)限跟ROOT一樣的遠(yuǎn)程賬戶用于后期腳本監(jiān)控(節(jié)點一和二)

#  GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY '123456';

 

9:鎖表(鎖表狀態(tài)下不能退出SSH,否則會失敗,使用SSH可以另外克隆一個)(節(jié)點一和二)

#  mysql -u root -p
#  mysql> FLUSH TABLES WITH READ LOCK;

 

10:查看節(jié)點一狀態(tài)(記錄二進(jìn)制開始文件,位置)

#  mysql> show master status;

顯示:
#  mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |     1051 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

 

11:查看節(jié)點二狀態(tài)(記錄二進(jìn)制開始文件,位置)

#  mysql> show master status;

顯示:
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |      764 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

 

12:節(jié)點一連接節(jié)點二
#  mysql> CHANGE MASTER TO MASTER_HOST='192.168.100.22',MASTER_USER='abc', MASTER_PASSWORD='abc',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=764;

 

12.1:開啟節(jié)點一同步進(jìn)程
mysql> START SLAVE;

 

12.2:查看節(jié)點一同步狀態(tài)是否正常

mysql> SHOW SLAVE STATUS\G;

 

 *************************** 1. row ***************************

……………………(省略部分)
Slave_IO_Running: Yes  //此狀態(tài)必須YES
Slave_SQL_Running: Yes //此狀態(tài)必須YES
……………………(省略部分)
注:Slave_IO及Slave_SQL進(jìn)程必須正常運(yùn)行,即YES狀態(tài),否則都是錯誤的狀態(tài)(如:其中一個NO均屬錯誤)。


13:節(jié)點二連接節(jié)點一

mysql> CHANGE MASTER TO MASTER_HOST='192.168.100.21',MASTER_USER='abc', MASTER_PASSWORD='abc',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=1051;

 

13.1開啟節(jié)點二同步進(jìn)程
mysql> START SLAVE;

 

13.2查看節(jié)點二同步狀態(tài)是否正常

mysql> SHOW SLAVE STATUS\G;

 

 *************************** 1. row ***************************

……………………(省略部分)
Slave_IO_Running: Yes  //此狀態(tài)必須YES
Slave_SQL_Running: Yes //此狀態(tài)必須YES
……………………(省略部分)
注:Slave_IO及Slave_SQL進(jìn)程必須正常運(yùn)行,即YES狀態(tài),否則都是錯誤的狀態(tài)(如:其中一個NO均屬錯誤)。


14:解鎖節(jié)點一和節(jié)點二
mysql> UNLOCK TABLES;


15:退出節(jié)點一和節(jié)點二的mysql,至此mysql的互為主從已經(jīng)實現(xiàn)了
mysql> exit;

 

 

第五部分:mysql配置文件詳解

[client]
#設(shè)置mysql客戶端默認(rèn)字符集
default-character-set = utf8

 

#指定默認(rèn)端口
port  = 3306

 

#是個UNIX域socket文件,這種socket效率比基于TCP/IP的socket高,但是缺點是不能跨機(jī)器連接,mysql提供這個東西是為了改善本地連接的速度
socket  = /tmp/mysql.sock


[mysqld]
#服務(wù)端使用的字符集
character-set-server = utf8

 

#創(chuàng)建新表時將使用的默認(rèn)存儲引擎
default-storage-engine = MyISAM

 

#基準(zhǔn)路徑,其他路徑都相對于這個路徑
basedir = /yunwi8/server/mysql

 

# mysql數(shù)據(jù)庫文件所在目錄
datadir = /yunwei8/mysql/data

 

#錯誤日志存放路徑
log-error = /yunwei8/mysql/mysql_error.log

 

#進(jìn)程存放位置
pid-file = /yunwei8/mysql/mysql.pid

port  = 3306
socket  = /tmp/mysql.sock

 

#不使用系統(tǒng)鎖定,要使用myisamchk,必須關(guān)閉服務(wù)器
skip-external-locking

 

#myisam索引buffer,只有key沒有data
key_buffer_size = 384M

 

#增長到max_allowed_packet字節(jié)
max_allowed_packet = 32M

 

#主要用于設(shè)置table高速緩存的數(shù)量
table_open_cache = 512

 

#排序buffer大?。痪€程級別
sort_buffer_size = 2M

 

#以全表掃描(Sequential Scan)方式掃描數(shù)據(jù)的buffer大小 ;線程級別
read_buffer_size = 2M

 

#MyISAM以索引掃描(Random Scan)方式掃描數(shù)據(jù)的buffer大小 ;線程級別
read_rnd_buffer_size = 8M

 

#MyISAM 設(shè)置恢復(fù)表之時使用的緩沖區(qū)的尺寸,當(dāng)在REPAIR TABLE或用CREATE INDEX創(chuàng)建索引或ALTER TABLE過程中排序 MyISAM索引分配的緩沖區(qū)
myisam_sort_buffer_size = 64M

 

#線程緩存
thread_cache_size = 8

 

#查詢緩存大小
query_cache_size = 32M

 

#同時運(yùn)行的線程的數(shù)據(jù) 此處最好為CPU個數(shù)兩倍。本機(jī)配置為CPU的個數(shù)
thread_concurrency = 8

 

#以下為互為主從配置選項
#啟用二進(jìn)制日志
log-bin=mysql-bin

 

#表示是本機(jī)的序號為1,一般來講就是master的意思。
server-id = 1

 

#要記錄日志的數(shù)據(jù)庫,如果需要多個重復(fù)設(shè)置這個選項即可
binlog-do-db=yunwei8

 

#需要復(fù)制的數(shù)據(jù)庫名,如果需要多個數(shù)據(jù)庫,重復(fù)設(shè)置這個選項即可
replicate-do-db=yunwei8

 

#不要記錄日志的數(shù)據(jù)庫名,如果需要多個重復(fù)設(shè)置這個選項即可
binlog-ignore-db=mysql

 

#不需要復(fù)制的數(shù)據(jù)庫名,如果需要多個數(shù)據(jù)庫,重復(fù)設(shè)置這個選項即可
replicate-ignore-db=mysql

 

#默認(rèn)情況下,并不是每次寫入時都將binlog與硬盤同步。因此如果操作系統(tǒng)或機(jī)器(不僅僅是MySQL服務(wù)器)崩潰,有可能binlog中最后的語句丟失了。要想防止這種情況,你可以使用sync_binlog全局變量(1是最安全的值,但也是最慢的),使binlog在每N次binlog寫入后與硬盤同步。
sync_binlog=1

 

#字段一次遞增多少
auto_increment_increment = 2

 

#自增字段的起始值,這樣A的auto_increment字段產(chǎn)生的數(shù)值是:1, 3, 5, 7, …等奇數(shù)ID
auto_increment_offset = 1

 

#表示如果一個MASTER掛掉的話,另外一個馬上接管;一定要加上,否則不會把更新的記錄寫到二進(jìn)制文件里
log-slave-updates

 

#跳過錯誤,繼續(xù)執(zhí)行復(fù)制操作
slave-skip-errors=all

[mysqldump]
quick
max_allowed_packet = 32M


[mysql]
#這個配置段設(shè)置啟動MySQL服務(wù)的條件;在這種情況下,no-auto-rehash確保這個服務(wù)啟動得比較快。
no-auto-rehash

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MySQL雙機(jī)熱備+heartbeat集群+自動故障轉(zhuǎn)移(2秒) - Linux高級應(yīng)用 ...
『互聯(lián)網(wǎng)架構(gòu)』軟件架構(gòu)
SHOPNC純手工環(huán)境配置教程
MySQL 安裝配置
MySQL配置my.cnf調(diào)優(yōu)項詳解
Mysql my.ini配置文件詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服