CentOS6.5下コンパイルインストールmysql-5.6.27

9879 ワード

MySQL       :
1、RPM   ;(MySQL-5.6.27-1.linux_glibc2.5.i386.rpm-bundle.tar)
2、      ;(mysql-5.6.27-linux-glibc2.5-i686.tar.gz)
3、    。 (mysql-5.6.27.tar.gz)
      ,          ,                     MySQL     。      ,            ,                  ,             ,   RPM  ,                            。
MySQL          5.5    ,           CMake。         make gcc          。           ,  CMake,         yum,      yum install cmake  。        yum   cmake  ,          CMake。

##  CMake
[root@db tmp]# ll cmake-2.8.8.tar.gz
-rw-r--r--. 1 root root 5691656 12  11 17:55 cmake-2.8.8.tar.gz
[root@db tmp]# tar zxf cmake-2.8.8.tar.gz
[root@db tmp]# cd cmake-2.8.8
[root@db cmake-2.8.8]# ./configure 
---------------------------------------------
CMake 2.8.8, Copyright 2000-2011 Kitware, Inc.
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C compiler on this system.       ##  gcc 
Please specify one using environment variable CC.
See cmake_bootstrap.log for compilers attempted.

---------------------------------------------
Log of errors: /tmp/cmake-2.8.8/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------
[root@db tmp]# rpm -qa | grep make     ##    make  
make-3.81-20.el6.i686
[root@db tmp]# rpm -qa | grep gcc      ##    gcc  
libgcc-4.4.7-4.el6.i686
[root@db tmp]# yum install gcc         ##  
[root@db tmp]# yum install gcc-c++
[root@db tmp]# rpm -qa | grep gcc
gcc-c++-4.1.2-46.el5.i386
gcc-4.1.2-46.el5.i386
libgcc-4.4.7-4.el6.i686
[root@db cmake-2.8.8]# ./configure
[root@db cmake-2.8.8]# gmake && make install
[root@db cmake-2.8.8]# cmake      ##         cmake  
cmake version 2.8.8
Usage

  cmake [options] <path-to-source>
  cmake [options] <path-to-existing-build>
......

##      
[root@db ~]# groupadd mysql
[root@db ~]# useradd -r -g mysql mysql

##             
[root@db ~]# vi /etc/security/limits.conf
mysql              soft    nproc   2047
mysql              hard    nproc   16384
mysql              soft    nofile  1024
mysql              hard    nofile  65536

##  mysql
[root@db tmp]# ll mysql-5.6.27.tar.gz
-rw-r--r-- 1 root root 33327156 Dec 11 06:43 mysql-5.6.27.tar.gz
[root@db tmp]# tar zxf mysql-5.6.27.tar.gz 
[root@db tmp]# cd mysql-5.6.27
[root@db tmp]# ##  cmake      
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \     ##       
-DDEFAULT_CHARSET=utf8 \                              ##MySQL        
-DDEFAULT_COLLATION=utf8_general_ci \                 ##MySQL         
-DEXTRA_CHARSETS=all \                                ##        
-DENABLED_LOCAL_INFILE=1 \                            ##              MySQL   
-DWITH_INNOBASE_STORAGE_ENGINE=1 \                    ##  INNODB    
-DWITH_MYISAM_STORAGE_ENGINE=1 \                      ##  MYISAM    (MyISAM、MEMORY、MERGE、CSV           )
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \                   ##  BLACKHOLE    
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                     ##  ARCHIVE    
-DWITH_FEDERATED_STORAGE_ENGINE=1 \                   ##  FEDERATED    
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \                  ##   EXAMPLE    
-DWITH_PARTITION_STORAGE_ENGINE=1 \                   ##    
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \                  ##  PERFORMANCE_SCHEMA
-DCOMPILATION_COMMENT='ZSH for mysqltest' \           ##      
-DWITH_READLINE=1 \                                   ##           (         )
-DMYSQL_TCP_PORT=3306 \                               ##      
-DMYSQL_USER=mysql \                                  ##     mysql
-DMYSQL_DATADIR=/data/3306 \                          ##  MySQL            (   :datadir=/data/3306)
-DSYSCONFDIR=/data/3306 \                             ##  MySQL    my.cnf     (   :--defaults-file=/data/3306/my.cnf)
-DMYSQL_UNIX_ADDR=/data/3306/mysql.sock               ##            (   :socket=/data/3306/mysql.sock)
##cmake        ,        :
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/mysql-5.6.27
##           ,           ,    rm  ,          CMakeCache.txt  ,      cmake  ,     mysql      ,          。
[root@db mysql-5.6.27]# make && make install      ##                ,        mysql    。
[root@db mysql-5.6.27]# chown -R mysql:mysql /usr/local/mysql   ## /usr/local/mysql      ,                  MySQL 。
[root@db mysql-5.6.27]# vi /etc/profile
export PATH=/usr/local/mysql/bin:$PATH

##      
[root@db ~]# mkdir -p /data/3306
[root@db ~]# chown -R mysql:mysql /data

##   Mysql
[root@db mysql]# cd /usr/local/mysql
[root@db mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306

##  Mysql     
[root@db mysql]# cd /usr/local/mysql
[root@db mysql]# cp support-files/my-default.cnf  /data/3306/my.cnf
[root@db 3306]# cd /data/3306/
[root@db 3306]# vi my.cnf 
[client]
port = 3306
socket = /data/3306/mysql.sock
default-character-set = utf8

[mysqld]
port = 3306
user = mysql
socket = /data/3306/mysql.sock
pid-file = /data/3306/mysql.pid
basedir = /usr/local/mysql
datadir = /data/3306
log-bin = /data/3306/mysql-bin
lower_case_table_names=1
max_connections=1000
character_set_server=utf8
character_set_client=utf8

[mysql]
default-character-set=utf8

## mysql      
[root@db 3306]# cd /usr/local/mysql
[root@db mysql]# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

##  Mysql
[root@db mysql]# service mysqld start
Starting MySQL.............................................[  OK  ]
[root@db mysql]# service mysqld status
MySQL running (28579)                                      [  OK  ]
[root@db mysql]# netstat -tulnp | grep mysql
tcp        0      0 :::3306                     :::*                        LISTEN      28579/mysqld  

##  Mysql    
[root@db 3306]# mysql -uroot -p      ##         
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.27-log ZSH for mysqltest      ##        “ZSH for mysqltest”  ?

Copyright (c) 2000, 2015, 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> use test
Database changed
mysql> create table t1 (id int ,name varchar(10));
Query OK, 0 rows affected (4.90 sec)

mysql> insert into t1 values(1,'a'),(2,'b'),(3,'c');
Query OK, 3 rows affected (1.29 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select * from t1;
+------+------+
| id   | name |
+------+------+
|    1 | a    |
|    2 | b    |
|    3 | c    |
+------+------+
3 rows in set (0.00 sec)

##    ,     (    )
mysql> select user,host,password from mysql.user;
+------+-----------+----------+
| user | host      | password |
+------+-----------+----------+
| root | localhost |          |
| root | db        |          |
| root | 127.0.0.1 |          |
| root | ::1       |          |
|      | localhost |          |
|      | db        |          |
+------+-----------+----------+
6 rows in set (0.00 sec)

mysql> update mysql.user set password = PASSWORD('123') where user = 'root';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | db        | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | ::1       | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
|      | localhost |                                           |
|      | db        |                                           |
+------+-----------+-------------------------------------------+
6 rows in set (0.00 sec)

mysql> drop user ''@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> drop user ''@db;
Query OK, 0 rows affected (0.01 sec)

mysql> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | db        | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | ::1       | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+------+-----------+-------------------------------------------+
4 rows in set (0.01 sec)

mysql> update mysql.user set host='%' where user='root' and host='localhost';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | %         | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | db        | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | 127.0.0.1 | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| root | ::1       | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)