mysql5.6编译安装

1.安装编译源码所需的工具和库

yum install gcc gcc-c++ ncurses-devel perl -y

yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype*

2.创建mysql用户和组

groupadd mysql

useradd -r -g mysql mysql

mkdir -p /mydata/mysql

mkdir -p /mydata/mysql/mysqldb    #创建一个数据目录

3.编译安装:

##注意:红色标注需要修改

cmake -DCMAKE_INSTALL_PREFIX=/mydata/mysql -DMYSQL_UNIX_ADDR=/mydata/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/mydata/mysql/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

注:重新运行配置,需要删除CMakeCache.txt文件
rm CMakeCache.txt

参数解释:

-DCMAKE_INSTALL_PREFIX=dir_name 设置mysql安装目录
-DMYSQL_UNIX_ADDR=file_name 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name 设置服务器的字符集。
缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。
-DDEFAULT_COLLATION=collation_name 设置服务器的排序规则。
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 存储引擎选项:

MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。

静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1

可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_DATADIR=dir_name 设置mysql数据库文件目录
-DMYSQL_TCP_PORT=port_num 设置mysql服务器监听端口,默认为3306
-DENABLE_DOWNLOADS=bool 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。
注:重新运行配置,需要删除CMakeCache.txt文件
rm CMakeCache.txt

4.make

make

make install

5.修改mysql目录所有者和组 

cd /mydata/mysql

mkdir mysql_log

mkdir mysqlbin

chown -R mysql:mysql .

cd /mydata/mysql/mysqldb

chown -R mysql:mysql .

6.初始化mysql数据库

cd /mydata/mysql

scripts/mysql_install_db --user=mysql --datadir=/mydata/mysql/mysqldb

7.复制mysql服务启动配置文件

mv /etc/my.cnf /etc/my.cnf.old

cp /mydata/mysql/support-files/my-default.cnf /etc/my.cnf

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

my.cnf配置为:

[mysqld]

# basedir = .....
datadir =/mydata/mysql/mysqldb
#服务器关闭交互式连接所等待的秒数
interactive_timeout=60
#等待断开连接的时间
wait_timeout=60
#临时表内存大小
tmp_table_size=262144
#表高速缓
table_open_cache=2048
#查询缓存的大小
#query_cache_size =0
#group_concat 大小设置
group_concat_max_len = -1
#最大连接数
max_connections=1000
back_log=102
key_buffer_size = 256M
thread_cache_size=64
#服务器可用核数*2
thread_concurrency = 16
#缓冲池大小
innodb_buffer_pool_size = 10G
#日志缓存大
innodb_log_file_size = 2G
#慢日志位置
slow_query_log_file=/mydata/mysql/mysql_log/slow_query.log
#慢日志时间
long_query_time=1
#开启慢日志
slow_query_log=TRUE
#开启没有用到索引的sql
#log-queries-not-using-indexes
##数据库错误日志位置
##log-error=/mnt/Mysql_Log/SqlError.log
#开启二进制日志
log-bin=/mydata/mysql/mysqlbin/mysql-bin
#随机读取缓冲的大小
read_rnd_buffer_size =8M
#顺序读取缓冲的大小
read_buffer_size = 8M
#排序缓冲大小
sort_buffer_size = 6M
tmp_table_size=128M
#query_cache_size=128M
query_cache_type=0
#join table 缓冲的大小
join_buffer_size = 6M
#不区分大小写
lower_case_table_names=1
innodb_additional_mem_pool_size=2097152
# port = .....
# server_id = .....
socket = /mydata/mysql/mysql.sock
log_bin_trust_function_creators=1
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
max_binlog_size = 500M
server-id=1
binlog-do-db=erp_product
log-bin-index=master-bin-log.index
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#传输文件大小限制
max_allowed_packet=20M

[mysqld_safe]
socket = /mydata/mysql/mysql.sock

[client]
socket = /mydata/mysql/mysql.sock

[mysql.server]
socket = /mydata/mysql/mysql.sock

8.#配置环境变量

vim /etc/profile

export PATH=/mydata/mysql/bin:/mydata/mysql/lib:$PATH

source /etc/profile

9.启动

service mysqld start

chkconfig --level 35 mysqld on

netstat -tulnp | grep 3306

mysql -u root -p 密码为空,如果能登陆上,则安装成功。

mysqladmin -u root password '111'

原文地址:https://www.cnblogs.com/byfboke/p/9685642.html