yum 安裝percona mysql 5.7


Mysql5.7安裝准備

1.基礎信息:

(1)可參考官方文檔【https://www.percona.com/doc/percona-server/5.7/installation/yum_repo.html】

(2)環境信息

系統:Centos7.3

Mysql:Percona的Mysql5.7

2.安裝方式:

這里選擇yum安裝,原因是沒有特殊需求,yum安裝比較快

部署Mysql5.7

1.關閉selinux及firewalld防火牆

如果不關閉,啟動會受到影響!!!別問我為什么知道!!!

# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux    
# setenforce 0  #關閉Selinux(強烈建議關閉)
# systemctl stop firewalld
# systemctl disable firewalld  #關閉firewalld防火牆

2.安裝yum源

# yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

3.安裝Percona-server57(mysql5.7)

# yum -y install Percona-Server-server-57

4.創建mysql相關目錄

# mkdir -p /opt/mysql/{mysql_data,mysql_log}  #創建mysql的數據目錄和日志目錄
# chown -R mysql:mysql /opt/mysql         #更改屬主屬組為mysql
# usermod -d /opt/mysql mysql           #將mysql用戶的家目錄改成工作目錄(個人覺得應該修改)

修改配置文件

(1)清理不必要的原生配置文件

# cd /etc/
# rm -rf my.cnf my.cnf.d percona-server.cnf percona-server.conf.d  #我覺得這么一堆配置文件,不好維護,所以全部干掉

(2)建立mysql配置文件

復制代碼
cat <<EOF>>/etc/my.cnf
# Generated by Percona Configuration Wizard (http://tools.percona.com/) version REL5-20120208

[client]
port = 3306
socket = /tmp/mysql.sock

[mysql]

# CLIENT #
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8
prompt="\u@\h:\p \R:\m:\s [\d]>"

[mysqld]

# GENERAL #
user = mysql
default-storage-engine = InnoDB
character_set_server = utf8
socket = /tmp/mysql.sock
pid-file = /opt/mysql/mysql_log/mysqld.pid
log_timestamps = SYSTEM
server-id = 1001

# MyISAM #
key-buffer-size = 32M
myisam-recover-options = FORCE,BACKUP

# SAFETY #
max-allowed-packet = 32M
max-connect-errors = 1000000
sql-mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
innodb = FORCE

# DATA STORAGE #
datadir = /opt/mysql/mysql_data/

# BINARY LOGGING #
log-bin = /opt/mysql/mysql_log/mysql-bin
expire-logs-days = 15
sync-binlog = 1
binlog_format = ROW
log_bin_trust_function_creators = ON
binlog_rows_query_log_events = ON

# REPLICATION #
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = ON
relay-log = /opt/mysql/mysql_log/relay-bin
relay_log_info_repository = TABLE
relay_log_recovery = ON
sync-relay-log = 10000
sync-relay-log-info = 10000
master_info_repository = TABLE
sync-master-info = 10000
binlog_group_commit_sync_delay = 0
binlog_group_commit_sync_no_delay_count = 0
transaction_write_set_extraction = 'XXHASH64'
binlog_transaction_dependency_tracking = WRITESET

# SLAVE #
slave-parallel-type = LOGICAL_CLOCK
slave-parallel-workers = 8
#read-only = 1
#super_read_only = 1
slave-net-timeout = 60
#skip-slave-start = 1
slave_pending_jobs_size_max = 64M

# CACHES AND LIMITS #
tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 8000
thread-cache-size = 50
open-files-limit = 65535
table-definition-cache = 4096
table-open-cache = 4096
optimizer_switch = 'condition_fanout_filter=off,derived_merge=off'

# INNODB #
innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 4
innodb-log-file-size = 512M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1
innodb_log_buffer_size = 8M
innodb-buffer-pool-size = 16G

# LOGGING #
log-error = /opt/mysql/mysql_log/mysql-error.log
log_error_verbosity = 1
slow-query-log = 1
slow-query-log-file = /opt/mysql/mysql_log/mysql-slow.log
max_slowlog_size = 1G
log_queries_not_using_indexes = OFF
EOF

注:這個配置文件僅供參考,可以根據自己需求進行更改,Percona的在線生成配置文件工具【http://tools.percona.com/】
復制代碼

 

(3)修改/etc/systemd/system/mysql.service

復制代碼
# vim /etc/systemd/system/mysql.service
修改以下行

  sed -i 's#/var/run/mysqld/mysqld.pid#/opt/mysql/mysql_log/mysqld.pid#g' /etc/systemd/system/mysql.service

 
         

  sed -i 's#/var/run/mysqld/mysqld.pid#/opt/mysql/mysql_log/mysqld.pid#g' /usr/lib/systemd/system/mysqld.service

 
         

  sed -i 's#LimitNOFILE = 5000#LimitNOFILE = 100000#g' /etc/systemd/system/mysql.service

 
         

  sed -i 's#LimitNOFILE = 5000#LimitNOFILE = 100000#g' /usr/lib/systemd/system/mysqld.service


# systemctl daemon-reload  #重新加載配置
 
         
復制代碼

4.啟動mysql

# systemctl enable mysqld
# systemctl start mysqld

mysql簡單初始化

(1)登錄及修改初始密碼

復制代碼
# grep -i 'password' /opt/mysql/mysql_log/mysql-error.log   #獲取mysql初始密碼
2018-04-19T04:07:12.534522Z 1 [Note] A temporary password is generated for root@localhost: er+Pezm/r31i

# mysql -u root -p'er+Pezm/r31i'  #登錄mysql

# SET PASSWORD FOR root@'localhost' = 'MFdb@2018!'; #更改root密碼
復制代碼

 

.簡單排錯

如果啟動時報錯,可以使用以下方式排錯

(1) 查看當前實例使用的配置文件是否是你定義的

# mysqld --verbose --help |grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

(2)查看輸出日志

# cat /opt/mysql_log/mysql-error.log

(3)查看系統日志

# systemctl status mysqld  #這個看systemd的報錯,個人覺得沒什么卵用
# journalctl -b    #這個看系統輸出的日志,信息量很大,比較有用
# journalctl -xe    #這個也是系統輸出的日志,信息簡略,有一些用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM