这篇文章主要介绍MySQL源码安装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
操作系统:CentOS 6.7
MySQL版本:5.6.30
1.前期准备
2.系统配置
3.CMake编译配置
4.make && make install
5.后期配置和测试
Reference1.前期准备
首先需要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 install2.系统配置
添加组和用户:
groupadd mysql
useradd -g mysql
mysql
vi
/etc/security/limits.conf 文件末尾添加:
mysql soft
nproc 2047
mysql hard
nproc 16384
mysql soft
nofile 1024
mysql hard
nofile 655363.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/mysql5.3 修改mysql用户环境变量:
vi ~/.bash_profile
export
LANG=zh_CN.GB18030
export
PATH=/usr/local/mysql/bin:$PATH5.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/mysql5.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/mysqld免费主机域名ata/3306/mysql.sock –port=3306以上是“MySQL源码安装的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注云技术行业资讯频道!
本篇文章给大家分享的是有关如何使用Java代码往MongoDB里插入数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来免费主机域名看看吧。前两篇教程我们介绍了如何搭建MongoDB的本地环境:使用node…