軟件名稱 | 版本 | 下載地址 | 當前環境 | 管理員帳號/密碼 |
---|---|---|---|---|
mysql | 5.6 | yum安裝 | centOS6.7系統 | zxfly/zxfly |
數據庫所在目錄 | /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 |
官網地址: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 -Uvh mysql57-community-release-el6-7.noarch.rpmvim
vim /etc/yum.repos.d/mysql-community.repocentos
安裝mysql5.6操做緩存
如圖:安全
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; [刷新權限,寫入磁盤]
MySQL主從部署文檔:http://www.cnblogs.com/feiren/p/7722185.html
# | 配置項 | 說明 |
---|---|---|
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 | 保留二進制文件的天數 |
# | 配置項 | 說明 |
---|---|---|
1 | log-error=/var/log/mysqld.log | 錯誤日誌路徑 |
2 | pid-file=/var/run/mysqld/mysqld.pid |
pid文件所在路徑 |
# | 配置項 | 說明 |
---|---|---|
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 | 不限制併發線程數 |
# | 配置項 | 說明 |
---|---|---|
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會自動選擇定義的模式 |
ps -ef|grep mysql
mysql -uzxfly -pzxfly
service mysqld start
service mysqld stop
service mysqld restart
mysql -uzxfly -pzxfly
mysql備份&還原
分類: mysql