mysql-boost-5.7.18安装方法

本次安装环境为:

系         统:centos 6  X86_X64

内         存:不低于4G

mysql 版本:mysql-boost-5.7.18.tar.gz


本文主要讲解在同主机上部署mysql多实例

门户网站应用mysql 多实例场景

百度搜索引擎的数据库就是多实例,一般是从库,列如某个部门的例子,IBM 48核CPU。内存96G,跑3-4个实例;sina 网也是用的多实例,内存48G左右。门户网站使用多实例的目的是配硬件好的服务器,节省idc机柜的空间,同时,跑多实例让硬件资源不浪费,针对一般的服务器最多4个实例即可,1-2两个最合适。

多实例可以是多个配置文件对应多实例也可以一个配置文件对应多个实例

多实例缺点:

1、耦合度太高,一个配置文件不好管理。工作开发和运维的统一原则;降低耦合度

mysql 相关软件包:

yum -y  install  ncurses-devel libaio-devel  cmake

安装需要mysql 需要创建用户和组

useradd mysql -s /sbin/nologin -M

下载mysql 5.7 安装包

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz

解压安装包

tar -zxf mysql-boost-5.7.18.tar.gz && cd mysql-5.7.18


cmake   \

-DCMAKE_INSTALL_PREFIX=/u01/app/mysql/db   \

-DSYSCONFDIR=/u01/app/mysql/db/etc   \

-DWITH_BOOST=./boost/boost_1_59_0 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNODB_MEMCACHED=1 \

-DWITH_READLINE=1   \

-DENABLED_LOCAL_INFILE=1   \

-DWITH_PARTITION_STORAGE_ENGINE=1   \

-DEXTRA_CHARSETS=all   \

-DDEFAULT_CHARSET=utf8   \

-DDEFAULT_COLLATION=utf8_general_ci

make -j 24

make install

#创建数据目录

mkdir -p /data/mysql/engine/innolog

mkdir -p /data/mysql/data

mkdir -p /data/mysql/engine/innodata

mkdir -p /data/mysql/engine/undo

mkdir -p /data/mysql/log/mysql-binlog

mkdir -p /data/mysql/log/mysql-relaylog

chown mysql. /data -R

#创建mysql 配置文件目录

mkdir /u01/app/mysql/db/etc

配置my.cnf


[mysqld]

#-------------------------------------basic_my.conf-------------------------------------------------------------

#5.7

#author: duxing

#modify: 20160902

#version: 0.8

#------------------basic-------------------------------#

user=mysql

basedir = /u01/app/mysql/db

datadir = /data/mysql/data

pid-file = /data/mysql/mysql.pid

socket=/data/mysql/mysql.sock

default-storage-engine = INNODB

transaction_isolation = REPEATABLE-READ

binlog_cache_size = 32M

max_binlog_size=512M

binlog_format=row

character-set-server = utf8

port=3306

server-id= 2

#sql_mode=‘ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘

sql_mode=‘STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY‘

explicit_defaults_for_timestamp = true

log-error = /data/mysql/mysql-error.log

slow_query_log

long_query_time = 10

log_warnings

#------------------basic-------------------------------#

#---------------directroy------------------------------#

innodb_log_group_home_dir=/data/mysql/engine/innolog

innodb_data_home_dir=/data/mysql/engine/innodata

innodb_data_file_path = ibdata1:500M;ibdata2:150M:autoextend

innodb_undo_directory=/data/mysql/engine/undo

log-bin =  /data/mysql/log/mysql-binlog/mysql-binlog

log-bin-index = /data/mysql/log/mysql-binlog/mysql-binlog.index

expire-logs-days=5

relay_log =  /data/mysql/log/mysql-relaylog/mysql-relay-bin

relay_log_index= /data/mysql/log/mysql-relaylog/mysql-relay-bin.index

#relay_log_info_file=/data/mysql/log/mysql-relaylog/relay-log.info

#---------------directroy------------------------------#

#----------------engine--------------------------------#

innodb_file_per_table=1

innodb_api_enable_binlog=1

innodb_buffer_pool_size=256M

innodb_flush_log_at_trx_commit = 1

innodb_log_buffer_size = 16M

innodb_log_file_size = 512M

innodb_log_files_in_group = 4

innodb_max_dirty_pages_pct = 75

innodb_lock_wait_timeout = 120

innodb_buffer_pool_instances=2

innodb_force_recovery=0 #recover

innodb_purge_threads=4 #undo purge

innodb_write_io_threads = 16

innodb_read_io_threads = 16

innodb_io_capacity=1200

innodb_old_blocks_pct=37

innodb_old_blocks_time=1000

innodb_undo_tablespaces=12

innodb_undo_logs=40

innodb_commit_concurrency = 1000 #commit/s

innodb_thread_concurrency = 1000  #use for cpu mutex

innodb_thread_sleep_delay = 200 #ms delay time

#innodb_use_native_aio=1

#----------------engine--------------------------------#

# ------------global cache -------------------------#

read_buffer_size = 32M

read_rnd_buffer_size = 128M

sort_buffer_size = 64M

join_buffer_size = 64M

query_cache_size = 128M

query_cache_limit = 4M

tmp_table_size = 128M

# ------------global cache -------------------------#

#----------------replicat-----------------------------#

#read_only=1

relay_log_purge=0

log_slave_updates=1

slave_parallel_workers=4

log_bin_trust_function_creators=1

binlog_checksum = CRC32

slave_allow_batching = 1

master_verify_checksum = 1

slave_sql_verify_checksum = 1

binlog_rows_query_log_events = 1

gtid-mode=on

enforce-gtid-consistency=1

sync-master-info=1

relay_log_purge = 1                   #relaylog的自动修复

relay_log_recovery = 1

master_info_repository = TABLE

relay_log_info_repository = TABLE

#set global rpl_semi_sync_master_enabled = 1

#set global rpl_semi_sync_slave_enabled =1

#rpl_semi_sync_master_timeout=200

#----------------replicat-----------------------------#

#-----------------thread------------------------------#

table_open_cache         = 2048   #reduce open descriptor

thread_stack             = 256K   # *thead_num < useable mem

thread_cache_size        = 128    #reuse thread in mem

#-----------------thread------------------------------#

#----------------network-----------------------------#

back_log                = 512

#skip-networking

#skip-grant-tables

skip-name-resolve

max_connections         = 3000

max_connect_errors      = 30

table_open_cache        = 4096

max_allowed_packet      = 64M

max_heap_table_size     = 512M

#----------------network-----------------------------#

#-----------------------timeout------------------------#

connect-timeout          = 10

wait-timeout             = 8000

interactive-timeout      = 8000

slave-net-timeout        = 60

net_read_timeout         = 30

net_write_timeout        = 60

net_retry_count          = 10

net_buffer_length        = 16384

#-----------------------timeout------------------------#

[mysql]

auto-rehash

[client]

socket=/data/mysql/mysql.sock

port=3306

删除 /etc/my.cnf

/u01/app/mysql/db/etc

初始化之前需要查看error 日志

cat /data/mysql/mysql-error.log

cd /u01/app/mysql/db

./bin/mysqld --initialize --basedir=/u01/app/mysql/db --datadir=/data/mysql/data  --user=mysql
                # --initialize-insecure option 使用这个初始化数据库之后不再需要登录后进行alter user

#cat /data/mysql/mysql-error.log

/u01/app/mysql/db/bin/mysqld_safe --skip-grant-tables &

update mysql.user set authentication_string=password(‘123.com‘) where user=‘root‘ and Host = ‘localhost‘;

#启动mysql 服务

/u01/app/mysql/db/support-files/mysql.server restart

##需要重新更改密码否则无法正常使用库

alter user ‘root‘@‘localhost‘ identified by ‘123.com‘;

#设置开机自启动

cp /u01/app/mysql/db/support-files/mysql.server /etc/init.d/mysql.server-5.7

chmod +x  /etc/init.d/mysql.server-5.7

chkconfig --addmysql.server-5.7

#设置环境变量

vim ~/.bashrc

#set mysql

NHOME=/u01/app/mysql/db

PATH=$PATH:$NHOME/bin

source ~/.bashrc

mysql 多实例可以写两个不同的配置文件与不同的端口 初始化库时候直接更改即可

时间: 2024-10-12 10:57:02

mysql-boost-5.7.18安装方法的相关文章

MySQL数据库多种安装方法及企业级安装实践

本文来自老男孩老师第三本书籍著作<老男孩的MySQL私房菜>第三章内容分享! 3.1 MySQL数据库的安装方法及选择 在当今的互联网企业里,MySQL数据库大多运行在Linux系列操作系统上,当然,你也可以运行在Windows/Unix等商业操作系统上,本书主要以国内互联网公司应用最多的数据库服务操作系统--CentOS6最新版(6.8)x86_64 Linux系统为例进行讲解,使用其他系统的读者同样可以从本书受益! 即使是在CentOS 6 x86_64 Linux系统环境下,若应用场景不

模拟生成环境的MySQL安装方法-通用二进制方式安装

模拟生成环境的MySQL安装方法-通用二进制方式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.并发响应用户请求的网络IO模型 1>.单进程 特点:一个进程响应一个请求.而且只有一个进程,所以执行任务是串行的. 2>.多进程/线程 特点:一个进程响应一个请求,如prefork多进程模式(由master进程提前开启的多个prefork进程,然后由这些prefork进程去响应多个请求.):也可以一个线程响应一个请求,如worker多线程模式(由master进程开启多个子

【Vegas原创】Mysql绿色版安装方法

原文:[Vegas原创]Mysql绿色版安装方法 所谓的绿色版,就是没有installer的MySQL,完全需要靠人工来操作,好处是,重装系统后,只要再做一次本次配置,即可使用. 具体操作方法: 1,设置系统环境变量, 在Path中添加 D:\mysql\bin 2,修改my-small.ini文件内容,添加以下内容 basedir=D:\mysql datadir=D:\mysql\data 修改后,另存为my.ini 3.安装MySQL的服务,服务名自己定义为MySQL. 1).进入DOS窗

Mysql快速配置安装方法

一. 前言 由于mysql 5.5.7之后使用cmake编译.本篇简单介绍mysql的安装和配置. 二. 环境准备 1.操作系统 CentOS 6.4 x86_64 2.软件版本 mysql-5.5.37   #下载地址:http://dev.mysql.com/downloads/file.php?id=451429 ,需要申请oracle账号才能下载. 3.需要安装的依赖包 cmake gcc gcc-c++ ncurses-devel bison openssl-devel 4. 安装过程

Mac下新安装的MySQL无法登陆root用户解决方法

一 设置MySQL命令行搜索路径 0.苹果->系统偏好设置->最下边点mysql 在弹出页面中 启动mysql服务 1.打开终端,输入: sudo vi ~/.bash_profile 如果已存在删除:  sudo rm -rf .bash_* 2.输入 i 3.然后粘贴以下内容 # mysql alias mysql='/usr/local/mysql/bin/mysql' alias mysqladmin='/usr/local/mysql/bin/mysqladmin' # ls ali

Mysql 5.7.11源码安装方法

环境:Centos 6.6 64位mysql 5.7.11 1.安装依赖包 yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison 2.安装boost库(对应版本高于或低于这个版本都有问题) wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_

Mysql压缩包版的安装方法详解

Mysql安装的时候可以有msi安装和zip解压缩两种安装方式.zip压缩包解压到目录,要使用它还需对它进行一定的配置.下面对Mysql压缩包版的安装方法进行详细的描述,要是此文有不正确的认识,希望大家指正,非常感谢. 一.下载mysql压缩包文件. 下载地址:http://dev.mysql.com/downloads/mysql/ ①选择相应的mysql版本:如图 ②根据电脑系统选择相应的版本,点击Download进入到跳转页面进行无登录下载(即无需在网站注册登录):如图1,图2所示 点击“

mysql 执行 cannot found mac安装mysql的两种方法(含配置)

mac安装mysql的两种方法(含配置 此时我们在命令行输入mysql -uroot -p命令会提示没有commod not found,我们还需要将mysql加入系统环境变量. (1).进入/usr/local/mysql/bin,查看此目录下是否有mysql,见pic6. (2).执行vim ~/.bash_profile 在该文件中添加mysql/bin的目录,见pic7: PATH=$PATH:/usr/local/mysql/bin 添加完成后,按esc,然后输入wq保存. 最后在命令

MySQL在linux上(cmake)的source code安装方法

1.安装前准备: 1)必备的包和工具  gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.  cmake  :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本.  bison  :MySQL语法解析器需要使用bison进行编译.  ncurses-devel :用于终端操作的开发包.  zlib    :MySQL使用zlib进行压缩 2)功能需要的包  libxml  :用于XML输入输出方式的支持.  openssl  :使用openssl安全