MySQL二進制包安裝

使用的包

mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

可能需要清理的包
yum remove -y mariadb-libs

安裝
tar -xf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql

#將數(shù)據(jù)放在/var/local/mysql/data下
#將日志放在/var/log/mysql下
#將pid文件和socker文件放在/var/local/mysql下
mkdir -p /var/local/mysql/data /var/log/mysql/bin-log
useradd -rs /bin/false mysql 
chown -R  mysql. /var/local/mysql  /var/log/mysql
#從庫還需要
mkdir /var/log/mysql/relay-log
chown mysql. /var/log/mysql/relay-log
主庫/etc/my.cnf
[mysqld]
#常規(guī)選項
server_id=51
character-set-server=utf8
collation-server=utf8_general_ci
default_storage_engine=InnoDB
datadir=/var/local/mysql/data
socket=/dev/shm/mysql.sock
#這個參數(shù)很奇怪,不想別的參數(shù),不區(qū)分-和_,這里只能寫成pid-file
pid-file=/var/local/mysql/mysql.pid
port=3306
log_error=/var/log/mysql/mysqld_err.log
user=mysql
lower_case_table_names=1
secure_file_priv=/var/local/mysql

#InnoDB相關(guān)
innodb_file_per_table=1
#雙一選項之一
innodb_flush_log_at_trx_commit=1

#binlog相關(guān)
log_bin=/var/log/mysql/bin-log/binlog
binlog_format=ROW
expire_logs_days=8
#雙一選項之一
sync_binlog=1

#gtid相關(guān)
gtid_mode=on
enforce_gtid_consistency=1

#慢查詢相關(guān)
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow_sql.log
long_query_time=0.1
log_queries_not_using_indexes=1

[mysql]
socket=/dev/shm/mysql.sock
prompt=\h:[\\U\\_\\d]>\\_
從庫/etc/my.cnf
[mysqld]
#常規(guī)選項
server_id=58
character-set-server=utf8
collation-server=utf8_general_ci
default_storage_engine=InnoDB
datadir=/var/local/mysql/data
socket=/dev/shm/mysql.sock
pid-file=/var/local/mysql/mysql.pid
port=3306
log_error=/var/log/mysql/mysqld_err.log
user=mysql
lower_case_table_names=1
secure_file_priv=/var/local/mysql
#從庫只讀
read_only=1
super_read_only=1

#為保證slave recovery,
#給出
#sync_binlog=1
#relay_log_recovery=1
#MASTER_AUTO_POSITION=1
#指定master.info和relay-log.info路徑
master_info_file=/var/log/mysql/master.info
relay_log_info_file=/var/log/mysql/relay-log.info
#relay_log_info_repository=TABLE
#指定relay-log文件路徑
relay_log=/var/log/mysql/relay-log/relaylog

#故障日志恢復(fù)相關(guān)
relay_log_recovery=1
#MHA相關(guān)
relay_log_purge=0

#InnoDB相關(guān)
innodb_file_per_table=1
#雙一選項之一
innodb_flush_log_at_trx_commit=1

#binlog相關(guān)
#默認情況下,從庫不再記錄復(fù)制主庫的SQL的binlog了,
#這個配置項置為1,記錄從主庫來的SQL的binlog
#log_slave_updates=1
log_bin=/var/log/mysql/bin-log/binlog
binlog_format=row
expire_logs_days=8
#雙一選項之一
sync_binlog=1

#gtid相關(guān)
gtid_mode=on
enforce_gtid_consistency=1

#慢查詢相關(guān)
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow_sql.log
long_query_time=0.1
log_queries_not_using_indexes=1

[mysql]
socket=/dev/shm/mysql.sock
prompt=\h:[\\U\\_\\d]>\\_
執(zhí)行初始化程序

cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/
#編輯啟動腳本
vim /etc/init.d/mysql.server
#basedir=/usr/local/mysql
#datadir=/var/local/mysql/data
bin/mysqld --initialize-insecure
service mysql.server start
chkconfig --add mysql.server
chkconfig mysql.server on 
#從庫需要將`/etc/my.cnf`中的`super_read_only=1`注釋掉
bin/mysql_secure_installation
#從庫需要將`/etc/my.cnf`中的`super_read_only=1`取消注釋
配置alias
vim ~/.bashrc
alias mysql='/usr/local/mysql/bin/mysql -p'
alias mysqldump='/usr/local/mysql/bin/mysqldump'
alias mysqlbinlog='/usr/local/mysql/bin/mysqlbinlog'
source ~/.bashrc
參考文檔

Section 16.2.4.2 Slave Status Logs
Section 16.3.2 Handling an Unexpected Halt of a Replication Slave

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容