mysql5.7.21编译安装,MySQL Install--编译安装MySQL 5.7

MySQL 编译相关选项配置和说明

[MySQL安装的根目录]-DCMAKE_INSTALL_PREFIX=/export/servers/mysql/[MySQL数据库文件存放目录]-DMYSQL_DATADIR=/export/data/mysql/data/[MySQL配置文件所在目录]-DSYSCONFDIR=/export/servers/mysql/etc/[MySQL用户名]-DMYSQL_USER=mysql

[MySQL的数据库引擎]-DWITH_MYISAM_STORAGE_ENGINE=1[MySQL的数据库引擎]-DWITH_INNOBASE_STORAGE_ENGINE=1[MySQL的数据库引擎]-DWITH_ARCHIVE_STORAGE_ENGINE=1[MySQL的数据库引擎]-DWITH_MEMORY_STORAGE_ENGINE=1[MySQL的readline library]-DWITH_READLINE=1[MySQL的通讯目录]-DMYSQL_UNIX_ADDR=/export/data/mysql/tmp/mysql.sock

[MySQL的监听端口]-DMYSQL_TCP_PORT=3358[启用加载本地数据]-DENABLED_LOCAL_INFILE=1[编译时允许自主下载相关文件]-DENABLE_DOWNLOADS=1[允许使用分区]-DWITH_PARTITION_STORAGE_ENGINE=1[使MySQL支持所有的扩展字符]-DEXTRA_CHARSETS=all

[设置默认字符集为utf8]-DDEFAULT_CHARSET=utf8

[设置默认字符校对]-DDEFAULT_COLLATION=utf8_general_ci

[禁用调试模式]-DWITH_DEBUG=0

-DMYSQL_MAINTAINER_MODE=0[通讯时支持ssl协议]-DWITH_SSL:STRING=bundled

[允许使用zlib library]-DWITH_ZLIB:STRING=bundled

创建MySQL服务账号

## 检查和创建用户组和用户

cat/etc/passwd

##查看用户组列表

cat/etc/group

## 创建用户组mysql

groupadd mysql

## 创建mysql用户并指定用户组mysql

useradd-g mysql mysql

创建MySQL文件目录并授权

##创建mysql使用的文件夹

mkdir-p /export/data/mysql/tmp /export/data/mysql/data /export/servers/mysql/etc /export/data/mysql/dumps /export/data/mysql/log /home/mysql/scripts /home/mysql/logs

##为mysql用户赋予该文件夹权限

chown-R mysql:mysql /export/data/mysql/tmp /export/data/mysql/data /export/servers/mysql/etc /export/data/mysql/dumps /export/data/mysql/log /home/mysql/scripts /home/mysql/logs

安装依赖包

##先安装bison-devel的rpm包

rpm-ivh bison-devel-2.4.1-5.el6.x86_64.rpm

##使用yum安装其他必要软件

yum-y install make gcc-c++ ncurses-devel perl-CPAN perl zlib-devel cmake

准备MySQL编译安装的boost

## 解压boost_1_59_0到/soft/boost_1_59_0目录下

## 注意不同版本MySQL可能要求不同版本的boost

tar-xvf boost_1_59_0.tar.bz2

编译安装MySQL

## 进入MySQL 源码目录

## 使用cmake来编译

cmake .-DWITH_BOOST=/soft/boost_1_59_0-DCMAKE_INSTALL_PREFIX=/export/servers/mysql/-DMYSQL_DATADIR=/export/data/mysql/data/-DSYSCONFDIR=/export/servers/mysql/etc/-DMYSQL_UNIX_ADDR=/export/data/mysql/tmp/mysql.sock-DMYSQL_TCP_PORT=3358-DMYSQL_USER=mysql-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DENABLE_DOWNLOADS=1-DWITH_PARTITION_STORAGE_ENGINE=1-DEXTRA_CHARSETS=all-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_DEBUG=0-DMYSQL_MAINTAINER_MODE=0-DWITH_SSL:STRING=bundled-DWITH_ZLIB:STRING=bundled>> /home/mysql/logs/install-log

## 使用make&&make install来编译和安装

make&& make install

创建配置文件

2b65ef29a5872cc0e4771c25889edd04.gif

6a087676c59fa8b19d76e6bb55a32902.gif

[clent]

port= 3358socket= /export/data/mysql/tmp/mysql.sock

[mysqld]

port= 3358socket= /export/data/mysql/tmp/mysql.sock

datadir= /export/data/mysql/data/#--- GLOBAL ---#

log_timestamps=SYSTEM

character-set-server =utf8

lower_case_table_names= 1log-output =FILE

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

#general_log

#general_log_file= /export/data/mysql/log/mysql.log

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

slow-query-log

slow_query_log_file= /export/data/mysql/log/slow.log

tmpdir= /export/data/mysql/tmp

long_query_time= 0.1sync_binlog= 1log_timestamps=SYSTEM

#--------------#

#thread_concurrency= 16thread_cache_size= 512table_open_cache= 16384table_definition_cache= 16384sort_buffer_size=4M

join_buffer_size=4M

read_buffer_size=4M

read_rnd_buffer_size=4M

key_buffer_size=64M

myisam_sort_buffer_size=64M

tmp_table_size=32M

max_heap_table_size=32M

open_files_limit= 65535query_cache_size= 0query_cache_type= 0bulk_insert_buffer_size=64M

binlog_rows_query_log_events=on

sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

#--- NETWORK ---#

back_log= 1024max_allowed_packet=256M

interactive_timeout= 28800wait_timeout= 28800skip-external-locking

max-connections = 1000skip-name-resolve = 1read_only= 0#--- REPL ---#

server-id =${server_id}

log-bin = mysql-bin

master_info_repository=TABLE

binlog_format=ROW

expire_logs_days= 7replicate-ignore-db =test

log_slave_updates= 1slave-parallel-workers = 8slave-parallel-type =LOGICAL_CLOCK

slave_preserve_commit_order= 0skip-slave-start

gtid_mode=on

enforce-gtid-consistency = truerelay-log = relay-log

relay_log_recovery=ON

sync_relay_log= 0relay_log_info_repository=TABLE

#--- INNODB ---#default-storage-engine =INNODB

innodb_data_home_dir= /export/data/mysql/data

innodb_data_file_path=ibdata1:1024M:autoextend

innodb_file_per_table

innodb_log_group_home_dir= /export/data/mysql/data

innodb_buffer_pool_size=${innodb_buffer_pool_size}G

#innodb_additional_mem_pool_size=128M

innodb_log_files_in_group= 3innodb_log_file_size=1024M

innodb_log_buffer_size=16M

innodb_flush_log_at_trx_commit= 1innodb_lock_wait_timeout= 120innodb_flush_method=O_DIRECT

innodb_max_dirty_pages_pct= 75innodb_io_capacity= 1000#innodb_thread_concurrency= 32innodb_open_files= 65535innodb_write_io_threads= 4innodb_read_io_threads= 4innodb_print_all_deadlocks= 1innodb_undo_directory= /export/data/mysql/undo

innodb_undo_tablespaces= 4innodb_purge_threads= 4innodb_purge_batch_size= 400innodb_stats_on_metadata= 0[mysqldump]

#quick

max_allowed_packet=256M

[mysql]

# auto-rehash

# Remove the next comment characterifyou are not familiar with SQL

# safe-updatesdefault-character-set=utf8

[myisamchk]

key_buffer_size=128M

sort_buffer_size=128M

read_buffer=2M

write_buffer=2M

[mysqlhotcopy]

interactive-timeout

View Code

修改上面文件中变量server_id和innodb_buffer_pool_size的值,并将文件保存到export/servers/mysql/etc/my.cnf

初始化系统数据库

## 执行初始化配置脚本,创建系统自带的数据库和表/export/servers/mysql/bin/mysqld--user=mysql--defaults-file=/export/servers/mysql/etc/my.cnf--initialize-insecure --initialize

启动MySQL服务

--启动数据库, 测试数据库是否能正常启动/export/servers/mysql/bin/mysqld_safe --defaults-file=/export/servers/mysql/etc/my.cnf &

创建MySQL数据库账号

/export/servers/mysql/bin/mysql--socket="/export/data/mysql/tmp/mysql.sock"-uroot -e "## 创建mysql_admin管理员账号

GRANT ALL PRIVILEGES ON*.* TO ‘mysql_admin‘@‘%‘ IDENTIFIED BY ‘mysql_admin‘WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON*.* TO ‘mysql_admin‘@‘localhost‘ IDENTIFIED BY ‘mysql_admin‘WITH GRANT OPTION;

## 清理账号

SET @@session.binlog_format= ‘statement‘;

DELETE FROM mysql.user

WHERE user= ‘‘;

DELETE FROM mysql.user

WHERE authentication_string= ‘‘;

SET @@session.binlog_format= ‘row‘;"

设置开机启动:

## 编辑文件

vi/etc/rc.d/rc.local

## 添加如下内容/export/servers/mysql/bin/mysqld_safe--defaults-file=/export/servers/mysql/etc/my.cnf &

创建快速登录脚本

## 编辑登录脚本

vim/usr/local/bin/mysql_login

## 插入下面代码

#!/usr/bin/env bash

mysql_bin="/export/servers/mysql/bin/mysql"mysql_user=‘mysql_admin‘mysql_password=‘mysql_admin‘mysql_host=‘127.0.0.1‘mysql_port=3358$mysql_bin--host="{$host}"--port="{$mysql_port}"--user="{mysql_user}"--password="{$mysql_password}"

--safe-updates--select-limit=1000000--init-command="set autocommit=0"--prompt="\u@\h:\d>"## 为登录脚本授权

chmod+x /usr/local/bin/mysql_login

原文:https://www.cnblogs.com/gaogao67/p/11066355.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值