gpt4 book ai didi

分享CentOS下MySQL最新版本5.6.13源码安装过程

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章分享CentOS下MySQL最新版本5.6.13源码安装过程由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

2个月前公司给DBA的测试服务器被收回去了,一直跟开发用一组DB,有些需要测试的小功能,需要不断重启db,为了不影响开发同事,自己又申请了一个虚拟机,准备安装最新的5.6.13版本的MySQL社区版.

1 download the tar.gz 。

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz/from/http://cdn.mysql.com/ 。

2 安装cmake软件包 。

yum install cmake 。

3 create account of mysql 。

groupadd mysql 。

useradd -g mysql mysql 。

autoreconf --force --install 。

libtoolize --automake --force 。

automake --force --add-missing 。

4 complie the sources 。

mkdir -p /data/mbdata 。

tar -xvf mysql-5.6.13.tar.gz 。

5 cmake 。

time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/data56 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/data56/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 。

[root@472322 mysql-5.6.13]# time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/data56 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/data56/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 。

-- Running cmake version 2.6.4 。

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 。

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 。

Missing variable is

CMAKE_C_COMPILER_ENV_VAR 。

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 。

Missing variable is

CMAKE_C_COMPILER 。

CMake Error: Could not find cmake module file:/root/mysql-5.6.13/CMakeFiles/CMakeCCompiler.cmake 。

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 。

Missing variable is

CMAKE_CXX_COMPILER_ENV_VAR 。

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 。

Missing variable is

CMAKE_CXX_COMPILER 。

CMake Error: Could not find cmake module file:/root/mysql-5.6.13/CMakeFiles/CMakeCXXCompiler.cmake 。

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage 。

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage 。

-- Configuring incomplete, errors occurred.

real 0m0.017s 。

user 0m0.006s 。

sys 0m0.005s 。

6 上一步cmake报错了,google得知需要重新yum make下 。

yum install make 。

ok 。

再继续去cmake 。

[root@472322 mysql-5.6.13]# time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/data56 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/data56/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 。

-- Running cmake version 2.6.4 。

-- The C compiler identification is unknown 。

-- The CXX compiler identification is unknown 。

CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Please set CMAKE_C_COMPILER to a valid compiler path or name. 。

CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name. 。

-- MySQL 5.6.13 。

-- Packaging as: mysql-5.6.13-Linux-x86_64 。

-- Could NOT find Threads (missing: Threads_FOUND) 。

-- Could NOT find Threads (missing: Threads_FOUND) 。

-- Check if the system is big endian 。

-- Searching 16 bit integer 。

CMake Error at /usr/share/cmake/Modules/TestBigEndian.cmake:31 (MESSAGE)

no suitable type found 。

Call Stack (most recent call first)

configure.cmake:621 (TEST_BIG_ENDIAN) 。

CMakeLists.txt:314 (INCLUDE) 。

这个错误很诡异,google上面有很多,但是每种情况都不同,我只好一个个去try了 。

-- Configuring incomplete, errors occurred.

real 0m0.122s 。

user 0m0.067s 。

sys 0m0.048s 。

[root@472322 mysql-5.6.13]# 。

报错如下: CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. 。

没有安装 gcc 和 gcc-c++,执行cmake报如上错误:

第一次尝试,执行 。

yum install -y gcc 。

yum install -y gcc-c++ 。

Ok,yum成功 。

7 继续cmake 。

time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/data56 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/data56/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 。

[root@472322 mysql-5.6.13]# 。

time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/data56 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/data56/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 。

-- Running cmake version 2.6.4 。

-- The C compiler identification is GNU 。

-- The CXX compiler identification is GNU 。

-- Check for working C compiler: /usr/bin/gcc 。

-- Check for working C compiler: /usr/bin/gcc -- works 。

-- Detecting C compiler ABI info 。

-- Detecting C compiler ABI info - done 。

-- Check for working CXX compiler: /usr/bin/c++ 。

-- Check for working CXX compiler: /usr/bin/c++ -- works 。

-- Detecting CXX compiler ABI info 。

-- Detecting CXX compiler ABI info - done 。

-- MySQL 5.6.13 。

-- Packaging as: mysql-5.6.13-Linux-x86_64 。

-- Could NOT find Threads (missing: Threads_FOUND) 。

-- Could NOT find Threads (missing: Threads_FOUND) 。

-- Check if the system is big endian 。

-- Searching 16 bit integer 。

CMake Error at /usr/share/cmake/Modules/TestBigEndian.cmake:31 (MESSAGE)

no suitable type found 。

Call Stack (most recent call first)

configure.cmake:621 (TEST_BIG_ENDIAN) 。

CMakeLists.txt:314 (INCLUDE) 。

-- Configuring incomplete, errors occurred.

real 0m0.510s 。

user 0m0.275s 。

sys 0m0.112s 。

第二次尝试,有人说需要安装至少5种包 。

[root@472322 mysql-5.6.13]# 。

yum install gcc gcc-c++ 。

yum install -y ncurses-devel.x86_64 。

yum install -y cmake.x86_64 。

yum install -y libaio.x86_64 。

yum install -y bison.x86_64 。

yum install -y gcc-c++.x86_64 。

然后再cmake,还是报原来的错误 。

最后决定用土办法了,删除所有的已经安装过的,重新再来做一遍吧.

[解决办法]:删除原来的mysql-5.6.13目录,重新解压缩tar.gz包 。

rm -rf /root/mysql-5.6.13 。

cd /root/ 。

tar -xvf mysql-5.6.13.tar.gz 。

cd /root/mysql-5.6.13 。

time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/data56 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/data56/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 。

........ 。

-- Looking for asprintf 。

-- Looking for asprintf - found 。

-- Check size of pthread_t 。

-- Check size of pthread_t - done 。

-- Using cmake version 2.6.4 。

-- Not building NDB 。

-- Performing Test HAVE_PEERCRED 。

-- Performing Test HAVE_PEERCRED - Success 。

-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl 。

-- Googlemock was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source. 。

-- If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://foo.bar.com:80 。

-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl 。

-- Configuring done 。

-- Generating done 。

-- Build files have been written to: /root/mysql-5.6.13 。

real 0m23.413s 。

user 0m13.815s 。

sys 0m7.419s 。

OK,成功了,对linux底层不太熟悉,难道是因为前面没有事先安装好各种包而cmake出来错误的东西导致后面继续cmake就一直报错吗? 是否是需要准备好各种lib包然后才能yum install cmake呢?然后再安装mysql才能不报错呢?

8 build the db directy 。

time make 。

time make install 。

9 init db 。

ll /usr/local/mysql56/ 。

cd /usr/local/mysql56/ 。

chown -R mysql . 。

chgrp -R mysql . 。

cp support-files/my-default.cnf /etc/my56.cnf 。

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56 --datadir=/data56 --defaults-file=/etc/my56.cnf 。

[root@472322 mysql56]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56 --datadir=/data56 --defaults-file=/etc/my56.cnf 。

Installing MySQL system tables...2013-08-22 05:06:03 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 。

2013-08-22 05:06:03 19416 [Note] InnoDB: The InnoDB memory heap is disabled 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Compressed tables use zlib 1.2.3 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Using CPU crc32 instructions 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Initializing buffer pool, size = 128.0M 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Completed initialization of buffer pool 。

2013-08-22 05:06:03 19416 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created.

2013-08-22 05:06:03 19416 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Database physically writes the file full: wait... 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0 。

2013-08-22 05:06:03 19416 [Warning] InnoDB: New log files created, LSN=45781 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Doublewrite buffer not found: creating new 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Doublewrite buffer created 。

2013-08-22 05:06:03 19416 [Note] InnoDB: 128 rollback segment(s) are active. 。

2013-08-22 05:06:03 19416 [Warning] InnoDB: Creating foreign key constraint system tables. 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Foreign key constraint system tables created 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Creating tablespace and datafile system tables. 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Tablespace and datafile system tables created. 。

2013-08-22 05:06:03 19416 [Note] InnoDB: Waiting for purge to start 。

2013-08-22 05:06:03 19416 [Note] InnoDB: 5.6.13 started; log sequence number 0 。

2013-08-22 05:06:04 19416 [Note] Binlog end 。

2013-08-22 05:06:04 19416 [Note] InnoDB: FTS optimize thread exiting. 。

2013-08-22 05:06:04 19416 [Note] InnoDB: Starting shutdown... 。

2013-08-22 05:06:05 19416 [Note] InnoDB: Shutdown completed; log sequence number 1625977 。

OK 。

Filling help tables...2013-08-22 05:06:05 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 。

2013-08-22 05:06:05 19439 [Note] InnoDB: The InnoDB memory heap is disabled 。

2013-08-22 05:06:05 19439 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 。

2013-08-22 05:06:05 19439 [Note] InnoDB: Compressed tables use zlib 1.2.3 。

2013-08-22 05:06:05 19439 [Note] InnoDB: Using CPU crc32 instructions 。

2013-08-22 05:06:05 19439 [Note] InnoDB: Initializing buffer pool, size = 128.0M 。

2013-08-22 05:06:05 19439 [Note] InnoDB: Completed initialization of buffer pool 。

2013-08-22 05:06:05 19439 [Note] InnoDB: Highest supported file format is Barracuda. 。

2013-08-22 05:06:05 19439 [Note] InnoDB: 128 rollback segment(s) are active. 。

2013-08-22 05:06:05 19439 [Note] InnoDB: Waiting for purge to start 。

2013-08-22 05:06:05 19439 [Note] InnoDB: 5.6.13 started; log sequence number 1625977 。

2013-08-22 05:06:05 19439 [Note] Binlog end 。

2013-08-22 05:06:05 19439 [Note] InnoDB: FTS optimize thread exiting. 。

2013-08-22 05:06:05 19439 [Note] InnoDB: Starting shutdown... 。

2013-08-22 05:06:06 19439 [Note] InnoDB: Shutdown completed; log sequence number 1625987 。

OK 。

To start mysqld at boot time you have to copy 。

support-files/mysql.server to the right place for your system 。

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER .

To do so, start the server, then issue the following commands

/usr/local/mysql56/bin/mysqladmin -u root password 'new-password' 。

/usr/local/mysql56/bin/mysqladmin -u root -h 472322.ea.com password 'new-password' 。

Alternatively you can run

/usr/local/mysql56/bin/mysql_secure_installation 。

which will also give you the option of removing the test 。

databases and anonymous user created by default. This is 。

strongly recommended for production servers. 。

See the manual for more instructions. 。

You can start the MySQL daemon with

cd . ; /usr/local/mysql56/bin/mysqld_safe & 。

You can test the MySQL daemon with mysql-test-run.pl 。

cd mysql-test ; perl mysql-test-run.pl 。

Please report any problems with the ./bin/mysqlbug script.

The latest information about MySQL is available on the web at 。

http://www.mysql.com 。

Support MySQL by buying support/licenses at http://shop.mysql.com 。

New default config file was created as /usr/local/mysql56/my.cnf and 。

will be used by default by the server when you start it. 。

You may edit this file to change server settings 。

WARNING: Default config file /etc/my.cnf exists on the system 。

This file will be read by default by the MySQL server 。

If you do not want to use this, either remove it, or use the 。

--defaults-file argument to mysqld_safe when starting the server 。

感到信息有warning,那就重新再执行一遍,原来在做5.6.10安装测试的时候,init db不管第一次执行失败或者成功,都可以再执行第二遍的.

[root@472322 mysql56]# 。

[root@472322 mysql56]# ll etc/my56.cnf 。

ls: cannot access etc/my56.cnf: No such file or directory 。

[root@472322 mysql56]# ll /etc/my56.cnf 。

-rw-r--r-- 1 root root 1126 Aug 22 05:05 /etc/my56.cnf 。

[root@472322 mysql56]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56 --datadir=/data56 --defaults-file=/etc/my56.cnf 。

Installing MySQL system tables...2013-08-22 05:07:31 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 。

2013-08-22 05:07:31 19481 [Note] InnoDB: The InnoDB memory heap is disabled 。

2013-08-22 05:07:31 19481 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 。

2013-08-22 05:07:31 19481 [Note] InnoDB: Compressed tables use zlib 1.2.3 。

2013-08-22 05:07:31 19481 [Note] InnoDB: Using CPU crc32 instructions 。

2013-08-22 05:07:31 19481 [Note] InnoDB: Initializing buffer pool, size = 128.0M 。

2013-08-22 05:07:31 19481 [Note] InnoDB: Completed initialization of buffer pool 。

2013-08-22 05:07:31 19481 [Note] InnoDB: Highest supported file format is Barracuda. 。

2013-08-22 05:07:31 19481 [Note] InnoDB: 128 rollback segment(s) are active. 。

2013-08-22 05:07:31 19481 [Note] InnoDB: Waiting for purge to start 。

2013-08-22 05:07:31 19481 [Note] InnoDB: 5.6.13 started; log sequence number 1625987 。

2013-08-22 05:07:31 19481 [Note] Binlog end 。

2013-08-22 05:07:31 19481 [Note] InnoDB: FTS optimize thread exiting. 。

2013-08-22 05:07:31 19481 [Note] InnoDB: Starting shutdown... 。

2013-08-22 05:07:32 19481 [Note] InnoDB: Shutdown completed; log sequence number 1625997 。

OK 。

Filling help tables...2013-08-22 05:07:32 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 。

2013-08-22 05:07:32 19505 [Note] InnoDB: The InnoDB memory heap is disabled 。

2013-08-22 05:07:32 19505 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 。

2013-08-22 05:07:32 19505 [Note] InnoDB: Compressed tables use zlib 1.2.3 。

2013-08-22 05:07:32 19505 [Note] InnoDB: Using CPU crc32 instructions 。

2013-08-22 05:07:32 19505 [Note] InnoDB: Initializing buffer pool, size = 128.0M 。

2013-08-22 05:07:32 19505 [Note] InnoDB: Completed initialization of buffer pool 。

2013-08-22 05:07:32 19505 [Note] InnoDB: Highest supported file format is Barracuda. 。

2013-08-22 05:07:32 19505 [Note] InnoDB: 128 rollback segment(s) are active. 。

2013-08-22 05:07:32 19505 [Note] InnoDB: Waiting for purge to start 。

2013-08-22 05:07:32 19505 [Note] InnoDB: 5.6.13 started; log sequence number 1625997 。

2013-08-22 05:07:32 19505 [Note] Binlog end 。

2013-08-22 05:07:32 19505 [Note] InnoDB: FTS optimize thread exiting. 。

2013-08-22 05:07:32 19505 [Note] InnoDB: Starting shutdown... 。

2013-08-22 05:07:34 19505 [Note] InnoDB: Shutdown completed; log sequence number 1626007 。

OK 。

To start mysqld at boot time you have to copy 。

support-files/mysql.server to the right place for your system 。

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER .

To do so, start the server, then issue the following commands

/usr/local/mysql56/bin/mysqladmin -u root password 'new-password' 。

/usr/local/mysql56/bin/mysqladmin -u root -h 472322.ea.com password 'new-password' 。

Alternatively you can run

/usr/local/mysql56/bin/mysql_secure_installation 。

which will also give you the option of removing the test 。

databases and anonymous user created by default. This is 。

strongly recommended for production servers. 。

See the manual for more instructions. 。

You can start the MySQL daemon with

cd . ; /usr/local/mysql56/bin/mysqld_safe & 。

You can test the MySQL daemon with mysql-test-run.pl 。

cd mysql-test ; perl mysql-test-run.pl 。

Please report any problems with the ./bin/mysqlbug script.

The latest information about MySQL is available on the web at 。

http://www.mysql.com 。

Support MySQL by buying support/licenses at http://shop.mysql.com 。

WARNING: Found existing config file /usr/local/mysql56/my.cnf on the system. 。

Because this file might be in use, it was not replaced.

but was used in bootstrap (unless you used --defaults-file) 。

and when you later start the server. 。

The new default config file was created as /usr/local/mysql56/my-new.cnf.

please compare it with your file and take the changes you need. 。

WARNING: Default config file /etc/my.cnf exists on the system 。

This file will be read by default by the MySQL server 。

If you do not want to use this, either remove it, or use the 。

--defaults-file argument to mysqld_safe when starting the server 。

10 copy start command 。

cp support-files/mysql.server /etc/init.d/mysqld56 。

chmod 700 /etc/init.d/mysqld56 。

echo "export PATH=$PATH:/usr/local/mysql56/bin">>/etc/profile 。

source /etc/profile 。

11 add command to system parameter 。

cd /data56 。

chkconfig --add mysqld56 。

12 start service & check & login 。

service mysqld56 start 。

[root@472322 data56]# service mysqld56 start 。

Starting MySQL. SUCCESS.

[root@472322 data56]# mysql 。

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

Your MySQL connection id is 1 。

Server version: 5.6.13 Source distribution 。

Copyright (c) 2000, 2013, 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. 。

mysql> show databases,

+--------------------+ 。

| Database | 。

+--------------------+ 。

| information_schema | 。

| mysql | 。

| performance_schema | 。

| test | 。

+--------------------+ 。

4 rows in set (0.00 sec) 。

mysql> 。

总结疑问:对linux底层不太熟悉,难道是因为前面没有事先安装好各种包而cmake出来错误的东西导致后面继续cmake就一直报错吗? 是否是需要准备好各种lib包然后才能yum install cmake呢?然后再安装mysql才能不报错呢?

欢迎熟悉linux底层的朋友或者有过这方面的经历的朋友给出宝贵的意见.

最后此篇关于分享CentOS下MySQL最新版本5.6.13源码安装过程的文章就讲到这里了,如果你想了解更多关于分享CentOS下MySQL最新版本5.6.13源码安装过程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com