文档章节

Centos 6.5 安装配置二进制格式 MySQL 5.7.18

xxj123gogo
 xxj123gogo
发布于 2017/04/26 02:11
字数 927
阅读 79
收藏 0

因为要配置 MySQL Replication Group,需要一个5.7的高版本,把MySQL的安装正好也整理下,方便大家参考。

环境说明

   系统:Centos 6.5 
    MySQL:5.7.18(目前最新)

基础环境准备

ntpdate time.nist.gov;
yum install lrzsz  make apr* autoconf automake curl-devel gcc gcc-c++ \
  openssl openssl-devel pcre-devel gd kernel keyutils  perl kernel-headers  \
compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel \
 libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* \
 freetype libjpeg* libpng* ncurses* libtool* libxml2 libxml2-devel patch unzip \
 wget vim php-pear openssh-clients freetype-devel libicu-devel cmake pcre ntpdate \
 pam-devel libc-client libc-client-devel ncurses-devel bison libaio;

下载地址

官方链接:
    https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

创建用户

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

路径规划

  • 安装包位置: /data/src
  • MySQL安装位置: /data/opt/mysql
  • 数据文件: /data/opt/mysql/data 
  • Log:   /data/opt/mysql/log 
  • pid: /data/opt/mysql/pid
  • socket: /data/opt/mysql/sock

解压

cd /data/src 
tar xzfv mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz  -C /data/opt/
cd /data/opt/
mv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql  

创建目录

(路径一定要先创建)

mkdir /data/opt/mysql/{data,log,pid,sock} -p 
cd mysql 
mkdir mysql-files

权限设置

方便起见,将所有文件所属用户和组都设置成 mysql;

权限问题可能导致启动报错
Starting MySQL..The server quit without updating PID file ([FAILED]t/mysql/pid/mysqld.pid).
准确讲,需要设置为 mysql 用户的文件为 data ,sock, pid ,log 。

chmod 750 mysql-files
chown -R mysql:mysql /data/opt/mysql 

初始化

准备 my.cnf  权限为(-rw-r--r--),文件见文章尾部。

bin/mysqld  --defaults-file=/etc/my.cnf --initialize
bin/mysql_ssl_rsa_setup 
chown -R mysql:mysql /data/opt/mysql 

注:--defaults-file 一定要作为第一个参数,否则,你懂的。

创建 Daemon

cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

开机启动设置

chkconfig --add mysqld ;
chkconfig --list mysqld ;

创建环境变量

echo "export PATH=$PATH:/data/opt/mysql/bin " >>/etc/profile
source /etc/profile

启动

service mysqld start

配置账号

mysql -uroot -p"随机密码生成在error文件中" -S /data/opt/mysql/sock/mysql.sock
mysql>set password = PASSWORD("new_password");
mysql>update user set host='%' where user ='root'; 
mysql>flush privileges
bin/mysql_secure_installation 

常见报错

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/opt/mysql/sock/' (111)

mysql -S 或者将socket写入my.cnf

附录: my.cnf

[client]
#password="123"
#port=3306
#user=root
#host=localhost
#socket=/data/opt/mysql/sock/mysql.sock

[mysqld]
#
##basic
#
user=mysql
port=3306
basedir=/data/opt/mysql
datadir=/data/opt/mysql/data
socket=/data/opt/mysql/sock/mysql.sock
pid-file=/data/opt/mysql/pid/mysqld.pid
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
skip-external-locking
skip-host-cache
#log_error_verbosity=3
lower_case_table_names=1
skip-name-resolve
auto_increment_increment = 1
auto_increment_offset = 1
back_log = 3000
transaction_isolation = READ-COMMITTED
#sql_mode=''
explicit_defaults_for_timestamp=1
read_rnd_buffer_size=1M
#read_only=ON
#safe-updates

#
#*toku
#
#tokudb_create_index_online =on
#tokudb_data_dir = /data/opt/mysql/toku/data
#tokudb_log_dir = /data/opt/mysql/toku/log
#tokudb_tmp_dir = /data/opt/mysql/toku/tmp
#tokudb_read_block_size = 128K
#tokudb_read_buf_size = 128K
#tokudb_cache_size=200m
#tokudb_directio = 1
#tokudb_commit_sync=on
#tokudb_fsync_log_period=0 
#tokudb_checkpointing_period=60
#tokudb_write_status_frequency =1000
#tokudb_read_status_frequency=1000
#tokudb_row_format =tokudb_zlib

#
#*undo
#
innodb_undo_log_truncate=1 
innodb_undo_tablespaces=3 

#
# * log
#
slow_query_log=1 
slow_query_log_file = /data/opt/mysql/log/slow.log
long_query_time=5
log-error=/data/opt/mysql/log/error.log

#
#* sys
#
connect_timeout = 3600
default_time_zone = SYSTEM
log_queries_not_using_indexes = OFF
max_allowed_packet = 1024M
max_connect_errors = 100
max_length_for_sort_data = 1024
max_prepared_stmt_count = 16382
max_write_lock_count = 102400
net_read_timeout = 30
net_retry_count = 10
net_write_timeout = 60
open_files_limit = 65535
query_prealloc_size = 16384
slow_launch_time = 2
#400 + (table_open_cache / 2)
table_definition_cache = 1500
table_open_cache = 2200
wait_timeout = 86400
sort_buffer_size=10M
join_buffer_size=2M
max_heap_table_size = 64M
tmp_table_size = 200M
key_buffer_size = 8388600
myisam_sort_buffer_size = 262144
innodb_sort_buffer_size=3M

#
# * binlog
#
log_bin=mysql-bin
log-bin-index=mysql-bin.index
binlog-format=row
expire_logs_days=0
max_binlog_size=700M
binlog_cache_size = 256KB
binlog_checksum = CRC32
binlog_row_image = full
binlog_stmt_cache_size = 32768
sync_binlog=1

#
# * innodb
#
default-storage-engine=InnoDB
default_tmp_storage_engine=InnoDB
character_set_server = utf8
innodb_file_per_table=1
innodb_flush_log_at_trx_commit = 1
innodb_data_file_path = ibdata1:12m:autoextend
#80%MEM
innodb_buffer_pool_size = 200m
innodb_thread_concurrency = 0
#innodb_default_row_format=dynamic
innodb_log_buffer_size = 16M
innodb_log_file_size = 800M
innodb_log_files_in_group = 4
innodb_adaptive_hash_index = ON
innodb_max_dirty_pages_pct = 75
innodb_old_blocks_pct = 37
innodb_open_files = 3000
#default value was changed from 1 to 4 in MySQL 5.7.8.
innodb_purge_threads = 4
innodb_stats_on_metadata = OFF
innodb_stats_transient_sample_pages = 15
innodb_strict_mode = ON
innodb_table_locks = ON
innodb_thread_sleep_delay = 10000
innodb_write_io_threads = 4
#the server waits for activity on an interactive connection before closing it 
interactive_timeout = 7200
innodb_flush_method = O_DIRECT
relay_log_info_repository=TABLE  
master_info_repository=TABLE  
relay_log_recovery=on  

#
#* QC
#
query_cache_type = 0
query_alloc_block_size = 8192
query_cache_limit = 1048576
query_cache_size = 3145728

#
#* replication
#
server_id=1
gtid_mode=on
#>5,7,6 enum(OFF,ON,WARN)
enforce_gtid_consistency=on
relay-log=mysql-relay-bin
relay-log-index=mysql-relay-bin.index
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%
log_bin_trust_function_creators=1

[mysqld_safe]
#malloc-lib=/data/opt/mysql/lib/libjemalloc.so  
#plugin-dir = /data/opt/mysql/lib/mysql/plugin
#plugin-load=ha_tokudb.so
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
#socket=/data/opt/mysql/sock/mysql.sock


 

© 著作权归作者所有

xxj123gogo
粉丝 0
博文 61
码字总数 83696
作品 0
其它
程序员
私信 提问
mysql初始化错误【一】Can't find error-message file '/usr/local/mysql/errmsg.sys'

环境:CentOS 7.2 MySQL 5.7.18 从mysql官方网站下载rpm包到服务器本地,依次安装下面的RPM包: mysql-community-common-5.7.18-1.el7.x86_64.rpm mysql-community-server-5.7.18-1.el7.x86......

liuhuang9496
2017/06/09
0
0
MySQL Group Replication 学习(部署篇+排错篇)

写在前面:之前一直用mariadb 版本,mariadb 集成了galera插件,实现pxc部署较为简单。官方在5.7推出了MySQL Group Replication,之前因为时间原因,一直没有时间搭建,今天也是抱着学习对比...

雪隐千寻
2017/10/20
0
0
CentOS 6.5下二进制安装 MySQL 5.6

CentOS 6.5下二进制安装 MySQL 5.6 CentOS 6.5 二进制安装MySQL 5.6 1:查看系统版本 1 2 2:下载MySQL5.6二进制包 1 3:添加用户和组 1 2 4:安装mysql到/usr/local/mysql下 1 2 3 4 5 6 7 ...

rootliu
2017/10/26
30
0
【干货】离线安装Cloudera Manager 5和CDH5(最新版5.13.0)详细过程

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。 Cloudera是Hadoop生态系统中,规模最大、知名度最高的公司。Cloudera对Hadoop进行了封装,简化安装过...

雪饼
2018/01/10
3K
0
mysql主从配置实践

一、mysql的安装 安装略过,建议可以按照官网指南进行安装。 二、主从配置 环境: 主:Centos 6.5 64位 Mysql 5.7.13 IP:192.168.1.1 从:Centos 6.5 64位 Mysql 5.7.14 IP:192.168.1.2 N...

jayhu
2016/09/05
76
0

没有更多内容

加载失败,请刷新页面

加载更多

作为一个(IT)程序员!聊天没有话题?试试这十二种技巧

首先呢?我是一名程序员,经常性和同事没话题。 因为每天都会有自己的任务要做,程序员对于其他行业来说;是相对来说比较忙的。你会经常看到程序员在发呆、调试密密麻麻代码、红色报错发呆;...

小英子wep
54分钟前
10
0
【SpringBoot】产生背景及简介

一、SpringBoot介绍 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要...

zw965
今天
4
0
简述并发编程分为三个核心问题:分工、同步、互斥。

总的来说,并发编程可以总结为三个核心问题:分工、同步、互斥。 所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共...

dust8080
今天
6
0
OSChina 周四乱弹 —— 当你简历注水但还是找到了工作

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享成龙的单曲《男儿当自强》。 《男儿当自强》- 成龙 手机党少年们想听歌,请使劲儿戳(这里) @hxg2016 :刚在...

小小编辑
今天
3.2K
22
靠写代码赚钱的一些门路

作者 @mezod 译者 @josephchang10 如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。 今天给大家分享一个精彩的 GitHub 库,这个库整理...

高级农民工
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部