共计 3205 个字符,预计需要花费 9 分钟才能阅读完成。
安装环境:CentOS 6.8,MySQL 5.6.23
一、编译安装 MySQL 前准备工作
安装编译源码所需的工具和库
yum -y install gcc gcc-c++ ncurses-devel perl openssl-devel bison
安装 cmake(记得好像从 mysql 5.5 开始需要 cmake 编译安装),可从 https://cmake.org/download/ 中下载。
tar zxvfcmake-3.4.1.tar.gz
cd cmake-3.4.1
./bootstrap
make && make install
二、创建用户及 MySQL 所需目录
新增 mysql 用户
groupadd -r mysql
useradd -r -g mysql mysql
新建 MySQL 所需目录
mkdir -p /usr/local/mysql
mkdir -p /data/mysqldb
三、编译安装 MySQL
可从 http://dev.mysql.com/downloads/mysql/ 下载 mysql 源码。
tar zxvf mysql-5.6.23.tar.gz
cd mysql-5.6.23
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql\
-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=/data/mysqldb\
-DMYSQL_TCP_PORT=3306\
-DENABLE_DOWNLOADS=1\
-DSYSCONFDIR=/etc\
-DWITH_SSL=system\
-DWITH_ZLIB=system\
-DWITH_LIBWRAP=0
make&& make install
DCMAKE_INSTALL_PREFIX=dir_name | 设置 mysql 安装目录 |
-DDEFAULT_CHARSET=charset_name | 设置服务器的字符集。缺省情况下,MySQL 使用 latin1 的(CP1252 西欧)字符集 |
-DDEFAULT_COLLATION=collation_name | 设置服务器的排序规则。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 | 存储引擎选项:MyISAM,MERGE,MEMORY,和 CSV 引擎是默认编译到服务器中,并不需要明确地安装。 |
-DMYSQL_DATADIR=dir_name | 设置 mysql 数据库文件目录 |
-DSYSCONFDIR | 设置 my.cnf 位置 |
修改 mysql 目录权限
cd /usr/local/mysql
chown -R mysql:mysql .
cd /data/mysqldb
chown -R mysql:mysql .
初始化 mysql 数据库
cd/usr/local/mysql
./scripts/mysql_install_db –user=mysql –datadir=/data/mysqldb
编辑 MySQL 配置文件
mv /etc/my.cnf /etc/my.cnf.bak
编辑 my.cnf,my.cnf 可在 percona 官网中及按照自己的情况生成。网址如下:https://tools.percona.com/wizard。
[mysql]
# CLIENT #
port = 3306
socket = /data/mysqldb/mysql.sock
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
socket = /data/mysqldb/mysql.sock
pid-file = /data/mysqldb/mysql.pid
# MyISAM #
key-buffer-size = 32M
myisam-recover = FORCE,BACKUP
# SAFETY #
max-allowed-packet = 16M
max-connect-errors = 1000000
# DATA STORAGE #
datadir = /data/mysqldb/
# BINARY LOGGING #
log-bin = /data/mysqldb/mysql-bin
expire-logs-days = 14
sync-binlog = 1
# REPLICATION #
skip-slave-start = 1
relay-log = /data/mysqldb/relay-bin
slave-net-timeout = 60
# CACHES AND LIMITS #
tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 500
thread-cache-size = 50
open-files-limit = 65535
table-definition-cache = 4096
table-open-cache = 4096
# INNODB #
innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-log-file-size = 64M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1
innodb-buffer-pool-size = 592M
# LOGGING #
log-error = /data/mysqldb/mysql-error.log
log-queries-not-using-indexes = 1
slow-query-log = 1
slow-query-log-file = /data/mysqldb/mysql-slow.log
复制 MySQL 启动文件及其命令加入 PATH
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/profile.d/mysql.sh
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
source /etc/profile.d/mysql.sh
启动 MySQL 并增加启动项
service mysqld start
chkconfig mysqld on
设置 MySQL 登录权限
drop user ”@localhost;
drop user ”@hostname;
update mysql.user set password=password(‘*******’);
flush privileges;
至此,MySQL 编译安装完成。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/132898.htm