MySQL源码安装的示例分析

45次阅读
没有评论

共计 4947 个字符,预计需要花费 13 分钟才能阅读完成。

这篇文章主要介绍 MySQL 源码安装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

操作系统:CentOS 6.7
MySQL 版本:5.6.30

· 1. 前期准备

· 2. 系统配置

· 3.CMake 编译配置

· 4.make make install

· 5. 后期配置和测试

· Reference

1. 前期准备

首先需要 CMake,可以 yum 直接安装:

yum install cmake

也可以官网  https://cmake.org/  下载源码编译。
我这里选择了官网下载最新版本 cmake-3.5.2.tar.gz。

# tar -zxvf
cmake-3.5.2.tar.gz cd cmake-3.5.2

# ./configure

部分输出略。

— Build files have
been written to: /soft/cmake-3.5.2

———————————————

CMake has
bootstrapped.  Now run gmake.

# gmake

# make install

2. 系统配置

添加组和用户:

groupadd mysql

useradd -g mysql
mysql

/etc/security/limits.conf 文件末尾添加:

mysql  soft 
nproc  2047

mysql  hard 
nproc  16384

mysql  soft 
nofile  1024

mysql  hard 
nofile  65536

3.CMake 编译配置

解压源码包:

tar zxvf
mysql-5.6.30.tar.gz cd mysql-5.6.30

CMake 编译配置

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8
\

-DDEFAULT_COLLATION=utf8_general_ci
\

-DENABLED_LOCAL_INFILE=ON
\

-DWITH_INNOBASE_STORAGE_ENGINE=1
\

-DWITH_FEDERATED_STORAGE_ENGINE=1
\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1
\

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
\

-DWITH_PARTITION_STORAGE_ENGINE=1
\

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
\

-DCOMPILATION_COMMENT= JSS
for mysqltest \

-DWITH_READLINE=ON
\

-DSYSCONFDIR=/data/mysqldata/3306
\

-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock

遇到以下错误,

— Could NOT find
Curses (missing:  CURSES_LIBRARY
CURSES_INCLUDE_PATH)

CMake Error at
cmake/readline.cmake:85 (MESSAGE):

  Curses library not found.  Please install appropriate package,

  remove CMakeCache.txt and rerun cmake.On
Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is
ncurses-devel.

Call Stack (most
recent call first):

  cmake/readline.cmake:128 (FIND_CURSES)

  cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)

  CMakeLists.txt:421 (MYSQL_CHECK_EDITLINE)

— Configuring
incomplete, errors occurred!

See also /soft/mysql-5.6.30/CMakeFiles/CMakeOutput.log .

See also
/soft/mysql-5.6.30/CMakeFiles/CMakeError.log .

[root@JY-DB
mysql-5.6.30]#

yum 安装提示缺失的包:

yum install ncurses-devel

重新删除配置文件:

rm -rf CMakeCache.txt

然后重新 CMake 工具编译:

CMake Warning:

  Manually-specified variables were not used by the project:

  WITH_READLINE

— Build files have
been written to: /soft/mysql-5.6.30

[root@JY-DB mysql-5.6.30]#

4.make
make install

[root@JY-DB mysql-5.6.30]# make make install

大量输出略。

这个时间会比较长,也跟机器性能有关。

5. 后期配置和测试

5.1 打包 MySQL 二进制版本:

[root@JY-DB data]# tar
zcvf mysql-5.6.30.tar.gz /usr/local/mysql/

5.2 修改 MySQL 软件所在目录拥有者:

chown -R mysql.mysql /usr/local/mysql

5.3 修改 mysql 用户环境变量:

vi ~/.bash_profile

export
LANG=zh_CN.GB18030

export
PATH=/usr/local/mysql/bin:$PATH

5.4 创建数据库服务:

# mkdir -p
/data/mysqldata/{3306/{data,tmp,binlog},backup,scripts}

# chown -R
mysql.mysql /data/mysqldata

# su – mysql

$ more
/usr/local/mysql/support-files/my-default.cnf

$ vi
/data/mysqldata/3306/my.cnf

my.cnf 配置文件内容如下:

[client]

port = 3306

socket = /data/mysqldata/3306/mysql.sock

#The MySQL Server

[mysqld]

port = 3306

user = mysql

socket =
/data/mysqldata/3306/mysql.sock

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

basedir =
/usr/local/mysql

datadir =
/data/mysqldata/3306/data

tmpdir =
/data/mysqldata/3306/tmp

open_files_limit =
10240

explicit_defaults_for_timestamp

sql_mode =
NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#Buffer

max_allowed_packet =
256M

max_heap_table_size =
256M

net_buffer_length =
8k

sort_buffer_size = 2M

join_buffer_size = 4M

read_buffer_size = 2M

read_rnd_buffer_size
= 16M

#Log

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

binlog_cache_size =
32M

max_binlog_cache_size
= 512M

max_binlog_size =
512M

binlog_format = mixed

log_output = FILE

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

slow_query_log = 1

slow_query_log_file =
../slow_query.log

general_log = 0

general_log_file =
../general_query.log

expire-logs-days = 14

#InnoDB

innodb_data_file_path
= ibdata1:2048M:autoextend

innodb_log_file_size
= 256M

innodb_log_files_in_group
= 3

innodb_buffer_pool_size
= 1024M

[mysql]

no-auto-rehash

prompt =
(\u@\h)[\d] \_

default-character-set
= gbk

初始化 MySQL 数据库:

$ /usr/local/mysql/scripts/mysql_install_db
–datadir=/data/mysqldata/3306/data –basedir=/usr/local/mysql

5.5 启动数据库服务:

mysqld_safe –defaults-file=/data/mysqldata/3306/my.cnf

测试连接并查看 MySQL 进程和端口监听状态:

netstat -lnt | grep 3306

ps -ef | grep
bin/mysql | grep -v grep

实际操作过程如下:

[root@JY-DB ~]# su – mysql

[mysql@JY-DB ~]$
mysql

Welcome to the MySQL
monitor.  Commands end with ; or \g.

Your MySQL connection
id is 1

Server version: 5.6.30-log JSS for mysqltest

Copyright (c) 2000,
2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered
trademark of Oracle Corporation and/or its

affiliates. Other
names may be trademarks of their respective

owners.

Type help; or \h
for help. Type \c to clear the current input statement.

(root@localhost)[(none)]
exit

Bye

[mysql@JY-DB ~]$
netstat -lnt |grep 3306

tcp  0 
0 :::3306  :::*  LISTEN 

[mysql@JY-DB
~]$ 

[mysql@JY-DB ~]$ ps
-ef | grep bin/mysql | grep -v grep

mysql  6736 
1753  0 11:24 pts/0  00:00:00 /bin/sh
/usr/local/mysql/bin/mysqld_safe –defaults-file=/data/mysqldata/3306/my.cnf

mysql  7202 
6736  0 11:24 pts/0  00:00:00 /usr/local/mysql/bin/mysqld
–defaults-file=/data/mysqldata/3306/my.cnf –basedir=/usr/local/mysql
–datadir=/data/mysqldata/3306/data –plugin-dir=/usr/local/mysql/lib/plugin
–log-error=/data/mysqldata/3306/data/../mysql-error.log
–open-files-limit=10240 –pid-file=/data/mysqldata/3306/mysql.pid
–socket=/data/mysqldata/3306/mysql.sock –port=3306

以上是“MySQL 源码安装的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计4947字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)