mysql5.6快速安裝及參數詳解

mysql5.6快速安裝及參數詳解

1、所需軟件

軟件名稱 版本 下載地址 當前環境 管理員帳號/密碼
mysql 5.6 yum安裝 centOS6.7系統 zxfly/zxfly

2、安裝說明

數據庫所在目錄 /database/mysql 新建目錄mysql
sock文件路徑 /var/lib/mysql/mysql.sock 自動生成
配置文件路徑 /etc/my.cnf  
慢查詢日誌路徑 /var/log/mysql/mysql_slow_query.log 新建mysql日誌目錄
錯誤日誌路徑 /var/log/mysql/mysqld.log  
pid文件 /var/run/mysqld/mysqld.pid 自動生成
binlog日誌文件 /database/mysql-bin/mysql_bin*.log 新建目錄mysql-bin

3、安裝

一、下載yum源。

官網地址:http://dev.mysql.com/downloads/repo/yum/ html

centos7系統:mysql

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpmweb

centos6系統:sql

wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm數據庫

二、安裝rpm

rpm -Uvh mysql57-community-release-el6-7.noarch.rpmvim

三、修改yum源配置

 vim /etc/yum.repos.d/mysql-community.repocentos

安裝mysql5.6操做緩存

一、將enabled=1更改成enabled=0

二、將enabled=0更改成enabled=1

如圖:安全

 

四、安裝mysql

yum install mysql-community-server服務器

五、替換配置文件

主庫配置文件:

mysql主庫配置文件

從庫配置文件:

mysql從庫配置文件

複製配置文件到/etc/my.cnf

主庫:cp my.cnf /etc/my.cnf

從庫:cp my_web_slave.cnf /etc/my.cnf

六、編輯配置文件:

vim /etc/my.cnf

#修改server-id=171替換成

server-id=[配置爲安裝數據庫所在服務器的ip]

說明:若是部署的mysql服務是做爲從庫來使用的話,還須要將bin_log項給註釋掉。

七、建立目錄

建立日誌所在目錄

mkdir -p /var/log/mysql

chown -R mysql.mysql /var/log/mysql

建立數據所在目錄

mkdir -p /database/mysql

chown -R mysql.mysql /database/mysql

建立binlog所在目錄(若是做爲從庫的話,能夠跳過)

mkdir -p /database/mysql-bin

chown -R mysql.mysql /database/mysql-bin

八、初始化、啓動

初始化數據庫

mysql_install_db --user=mysql --datadir=/database/mysql

啓動

service mysqld start #(第一次時間會相對長點,須要初始化,請耐心等待)

九、初始化配置

命令 mysql_secure_installation

Enter current password for root (enter for none):[回車跳過]

et root password? [Y/n] y  [是否設置root密碼]
New password:                  [輸入:zxfly]
Re-enter new password:    [輸入:zxfly]
Remove anonymous users? [Y/n] y [刪除匿名用戶]
Disallow root login remotely? [Y/n] y [禁止root遠程登陸]
Remove test database and access to it? [Y/n] y [刪除test數據庫]
Reload privilege tables now? [Y/n] y [刷新權限]

十、建立一個管理員帳號

#登陸mysql

mysql -uroot -pzxfly

#建立帳號

grant all on *.*  to   'zxfly'@'192.168.0.% ' identified by 'zxfly';          [受權管理所用庫]

FLUSH PRIVILEGES;                                          [刷新權限,寫入磁盤]

4、主從複製

MySQL主從部署文檔:http://www.cnblogs.com/feiren/p/7722185.html

5、配置文件說明

一、基本配置

[mysqld]

# 配置項 說明
1 user=mysql 啓動用戶
2 datadir=/database/mysql 數據庫所在路徑
3 socket=/var/lib/mysql/mysql.sock sock文件所在目錄
4 skip-name-resolve 禁用DNS解析,訪問太慢加入此優化
5 symbolic-links=0 關閉符號鏈接
6 slow_query_log_file = /var/log/mysql_slow_query.log 慢查詢日誌所在路徑
7 long_query_time=1 記錄1秒以上的慢查詢
8 slow_query_log=1 開啓慢查詢
9 server-id=171 每個mysql實例設置一個獨立的server-id通常以IP定義
10 log_bin=/database/mysql/mysql_bin 二進制文件所在路徑及格式
11

binlog_format=mixed

定義二進制文件輸出的格式(混合型)

可定義類型:

一、row

詳細記錄全部,會產生大量的日誌。

二、statement(默認)

記錄sql語句,及其位置。在複雜的語句時可能記錄不正確。

三、mixed

以上兩種的結合,會自動選擇。

12 sync-binlog=1

默認爲0 1是最安全的。

一、當出現錯誤的時候,設置爲1,最多會丟失一個事務。

二、他是最慢的選擇。

三、可是確保恢復快的話,應該由雙電源緩存機制存在。

13 expire_logs_days=14 保留二進制文件的天數

[mysqld_safe]

# 配置項 說明
1 log-error=/var/log/mysqld.log 錯誤日誌路徑
2

pid-file=/var/run/mysqld/mysqld.pid

pid文件所在路徑

二、優化項配置

#innodb引擎優化

# 配置項 說明
1 innodb_buffer_pool_size=104G

緩存innodb表的索引,數據,插入數據時的緩衝,

一、官方建議設置爲內存大小的80%,線上所掛載的大小爲160G,可用130G,因此設置爲104G

二、

2 innodb_log_file_size=512M

事務日誌的大小

官方推薦爲:日誌大小*日誌組大小(默認爲2)不能超過512G

一、該值越大,寫入磁盤IO越小,

二、該值越大,出現錯誤恢復越難

三、默認爲48M,修改成512M,也就是在大併發的時候1G的日誌刷入。

四、若是該值調大,而且爲了減小崩潰恢復,應該將下main的innodb_flush_log_at_trx_commit改成1

3 innodb_log_buffer_size = 8M 事務在內存中的緩衝大小
4 innodb_flush_log_at_trx_commit=2 每秒將事務日誌刷到磁盤中 (0:每秒刷一次 1:提交事務就刷入磁盤 2:有事務執行,而後每秒刷一次)
5 innodb_file_per_table=1 開啓共享表空間自動收縮
6 innodb_file_io_threads=4 可用的IO線程數
7 innodb_flush_method=O_DIRECT 定義刷寫模式(默認爲:fdatasync) O_DIRECT會最小化緩衝對io的影響,
8 innodb_io_capacity=2000 定義讀寫IO的能力 和磁盤轉速及大小有關
9 innodb_io_capacity_max=6000 每秒最大IO能力
10 innodb_lru_scan_depth=2000 通常與innodb_io_capacity的值相同
11 innodb_thread_concurrency = 0 不限制併發線程數

#cache緩存優化

# 配置項 說明
1 tmp_table_size=2G 內部(內存中)臨時表的最大大小
2 character-set-server=utf8 更改默認字符集
3 collation-server=utf8_general_ci 指定字符串的比對規則
4 skip-external-locking 跳過外部鎖定
5 back_log=1024 監聽隊列中所能保持的鏈接數
6 key_buffer_size=1024M 關鍵詞緩衝的大小
7 thread_stack=256k 線程使用的堆大小. 此容量的內存在每次鏈接時被預留
8 read_buffer_size=8M 全表掃描的緩衝大小
9 thread_cache_size=64 在cache 中保留用於重用的線程個數
10 query_cache_size=128M 查詢緩衝大小,保留select查詢,下次一樣查詢能夠直接返回結果
11 max_heap_table_size=256M 每一個表所容許的內存的最大容量(防止內存被大表直接佔用完)
13 query_cache_type=1 開啓查詢緩存
14 binlog_cache_size = 2M binlog記錄事務所保留的緩存大小
15 table_open_cache=128 每一個線程容許打開表的數量
16 thread_cache=1024 保留的用於從重用的線程數
17 thread_concurrency=24 向系統發送但願用到的線程的個數(通常爲CPU的數量的二到四倍)
18 wait_timeout=18000 sleep操做最大等待時間(即一個後臺運行的命令最大時間)
19 join_buffer_size = 1024M 優化全聯合,當聯合表操做時,使用此緩存
20 sort_buffer_size=8M 排序操做緩存
21 read_rnd_buffer_size = 8M 排序完成後會放入此緩存,能夠減小磁盤IO
22 max-connect-errors=100000 負責阻止過多嘗試失敗的客戶端以防止暴力破解密碼
23 max-connections=3000 最大鏈接數
24 explicit_defaults_for_timestamp=true 開啓查詢緩存
25 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 定義其工做模式,mysql會自動選擇定義的模式

6、檢查

一、查看進程是否存在

ps -ef|grep mysql

二、查看是否能夠登陸

mysql -uzxfly -pzxfly

7、監控

一、zabbix-mysql監控

二、zabbix-mysql主從監控

8、啓動、關閉和登陸

一、啓動

service mysqld start

二、關閉

service mysqld stop

三、重啓

service mysqld restart

四、登陸

mysql -uzxfly -pzxfly

9、壓力測試

10、其餘

mysql備份&還原

分類: mysql

相關文章
相關標籤/搜索