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

 

You can start the MySQL daemon with:

 

您可能感兴趣的文章:

The latest information about mysql_install_db is available at 

yum install make
ok

cmake .

  http://www.mysql.com

 

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

level of the extracted archive, or pass the –basedir option 

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

3

See the manual for more instructions.

 

  http://www.mysql.com

2

8 build the db directy
time make
time make install

socket=/var/lib/mysql/mysql.sock

[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

yum install gcc-c++

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

 

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

 

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.

If you compiled from source, you need to run ‘make install’ to 

  /usr/local/mysql56/bin/mysql_secure_installation

1

See the manual for more instructions.

yum install gcc

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

http://www.bkjia.com/Mysql/487426.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/487426.htmlTechArticle安装mariodb中出现的问题 安装mariodb中出现的问题
cmake相关cmake需依赖make — Running cmake version 2.6.4 — The CXX
compiler identification is unknown CMake Err…

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.

 

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

1

感到信息有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

 

12  start service & check & login
service mysqld56 start

cmake相关cmake需依赖make 

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

ccmake .

Ok,yum成功

3

  /usr/local/mysql56/bin/mysql_secure_installation

copy the software into the correct location ready for operation. 

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

编译出现错误后,务必要删除源码,重新解压一份,然后进行 

Alternatively you can run:

— Running cmake version 2.6.4 

[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!

If you are using a binary release, you must either be at the top 

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

(mysql.sock的路径)

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

FATAL ERROR: Could not find ./bin/my_print_defaults 

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

pointing to that location. 

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

 

— Configuring incomplete, errors occurred!

 

5 cmake

安装mariodb中出现的问题

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

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

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

在/etc/my.cnf 中添加 

 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

 

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

1

2 安装cmake软件包 yum install cmake

解决方式: 

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

 

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

 

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

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket
‘/tmp/mysql.sock’ (2) 

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

2

You can start the MySQL daemon with:

解决方式: 

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

 

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

 

real    0m0.017s
user    0m0.006s
sys     0m0.005s

2

[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!

安装mariodb中出现的问题 

mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+——————–+
4 rows in set (0.00 sec)

http://kb.askmonty.org/v/installing-system-tables-mysql\_install\_db

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

[client]

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

1

real    0m0.122s
user    0m0.067s
sys     0m0.048s
[root@472322 mysql-5.6.13]#

 

3 create account of mysql groupadd mysql          
useradd -g mysql mysql          
autoreconf –force –install
libtoolize –automake –force
automake –force –add-missing

make&&make install

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

 

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

yum install ncurses-devel

The latest information about MySQL is available on the web at

— The CXX compiler identification is unknown 

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

解决方式: 

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

./mysql_install_db –basedir=/usr/local/mysql/

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.

安装mariodb 

mysql> 

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

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

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

11 add command to system parameter
cd /data56
chkconfig –add mysqld56

报错如下: 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++

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

4  complie the sources mkdir -p /data/mbdata
tar -xvf mysql-5.6.13.tar.gz

再继续去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)

第二次尝试,有人说需要安装至少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

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

Alternatively you can run:

real    0m0.510s
user    0m0.275s
sys     0m0.112s

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/

real    0m23.413s
user    0m13.815s
sys     0m7.419s

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

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

10 copy start command

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

The latest information about MySQL is available on the web at

7  继续cmake

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

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system