Centos6 源代碼部署MySQL5.6

mysql從5.5版本號開始,再也不使用./configure編譯,而是使用cmake編譯器,詳細的cmake編譯參數可以參考mysql官網文檔(※ 很重要)
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.htmlhtml

mysql-5.6.16.tar.gz源代碼包下載地址:
http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gzmysql

個人mysql文件夾配置例如如下:
安裝路徑:/usr/local/mysql
數據庫路徑:/data/mysql
源代碼包存放位置:/usr/softwarelinux

準備工做:安裝基本依賴包,先用yum安裝cmake、automake 、autoconf ,另MySQL 5.6.x需要最少安裝的包有:bison,gcc、gcc-c++、ncurses-devel
[root@localhost ~]# yum install cmake make -y
[root@localhost ~]# yum install gcc gcc-c++ autoconf bison automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* -y
[root@localhost ~]# cp /root/mysql-5.6.15.tar.gz /usr/software/
[root@localhost ~]# cd /usr/software
開始編譯安裝
[root@localhost ~]# tar -zxvf mysql-5.6.15.tar.gz
[root@localhost ~]# cd mysql-5.6.15
[root@localhost ~]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
        -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
        -DDEFAULT_CHARSET=utf8 \
        -DDEFAULT_COLLATION=utf8_general_ci \
        -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
        -DWITH_INNOBASE_STORAGE_ENGINE=1 \
        -DWITH_READLINE=1 \
        -DENABLED_LOCAL_INFILE=1 \
        -DMYSQL_DATADIR=/data/mysql/ \
        -DMYSQL_USER=mysql \
        -DMYSQL_TCP_PORT=3306
[root@localhost ~]# make && make installc++

mysql官網英文文檔簡單翻譯說明一下
The MyISAM, MERGE, MEMORY, and CSV engines are mandatory (always compiled into the server) and need not be installed explicitly.(說明:mysql默認支持的數據庫引擎有MyISAM, MERGE, MEMORY, CSV,無需在編譯時再聲明)
因此上面的編譯條件省掉了例如如下兩行
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
但INNODB必定要聲明式安裝,因此多了這一行
-DWITH_INNOBASE_STORAGE_ENGINE=1 \web

查看mysql.mysql的用戶及組是否存在sql

[root@localhost ~]# cat /etc/passwd |grep mysql數據庫

mysql:x:501:503::/home/mysql:/bin/bashbash

[root@localhost ~]# cat /etc/group |grep mysqlide

mysql:x:503:字體

不OK就運行下面兩行命令(不然跳過這一步)
[root@localhost ~]# groupadd mysql                                          #加入mysql用戶組
[root@localhost ~]# useradd mysql -g mysql -s /sbin/nologin        # 加入mysql用戶

下面帶紅色字體的命令很很,必須要運行
[root@localhost ~]# cd /usr/local/mysql
[root@localhost ~]# chown mysql.mysql -R .                              #將mysql文件夾賦予mysql用戶的運行權限
[root@localhost ~]# chown mysql.mysql -R /data/mysql
[root@localhost ~]# cp support-files/my-default.cnf /etc/my.cnf  #mysql配置文件
[root@localhost ~]# chmod 755 scripts/mysql_install_db              #賦予mysql_install_db運行權限

下面命令爲mysql 啓動及自啓動配置
[root@localhost ~]# scripts/mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/   

輸出例如如下信息:

2013-12-12 13:58:23 25913 [Note] InnoDB: The InnoDB memory heap is disabled

2013-12-12 13:58:23 25913 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2013-12-12 13:58:23 25913 [Note] InnoDB: Compressed tables use zlib 1.2.3

2013-12-12 13:58:23 25913 [Note] InnoDB: Using Linux native AIO

2013-12-12 13:58:23 25913 [Note] InnoDB: Not using CPU crc32 instructions

2013-12-12 13:58:23 25913 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2013-12-12 13:58:23 25913 [Note] InnoDB: Completed initialization of buffer pool

2013-12-12 13:58:23 25913 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!

2013-12-12 13:58:23 25913 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB

2013-12-12 13:58:23 25913 [Note] InnoDB: Database physically writes the file full: wait...

2013-12-12 13:58:23 25913 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB

2013-12-12 13:58:24 25913 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB

2013-12-12 13:58:24 25913 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0

2013-12-12 13:58:24 25913 [Warning] InnoDB: New log files created, LSN=45781

2013-12-12 13:58:24 25913 [Note] InnoDB: Doublewrite buffer not found: creating new

2013-12-12 13:58:24 25913 [Note] InnoDB: Doublewrite buffer created

2013-12-12 13:58:24 25913 [Note] InnoDB: 128 rollback segment(s) are active.

2013-12-12 13:58:24 25913 [Warning] InnoDB: Creating foreign key constraint system tables.

2013-12-12 13:58:24 25913 [Note] InnoDB: Foreign key constraint system tables created

2013-12-12 13:58:24 25913 [Note] InnoDB: Creating tablespace and datafile system tables.

2013-12-12 13:58:24 25913 [Note] InnoDB: Tablespace and datafile system tables created.

2013-12-12 13:58:24 25913 [Note] InnoDB: Waiting for purge to start

2013-12-12 13:58:24 25913 [Note] InnoDB: 5.6.15 started; log sequence number 0

2013-12-12 13:58:26 25913 [Note] Binlog end

2013-12-12 13:58:26 25913 [Note] InnoDB: FTS optimize thread exiting.

2013-12-12 13:58:26 25913 [Note] InnoDB: Starting shutdown...

2013-12-12 13:58:27 25913 [Note] InnoDB: Shutdown completed; log sequence number 1625977

OK


Filling help tables...2013-12-12 13:58:27 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2013-12-12 13:58:27 25936 [Note] InnoDB: The InnoDB memory heap is disabled

2013-12-12 13:58:27 25936 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2013-12-12 13:58:27 25936 [Note] InnoDB: Compressed tables use zlib 1.2.3

2013-12-12 13:58:27 25936 [Note] InnoDB: Using Linux native AIO

2013-12-12 13:58:27 25936 [Note] InnoDB: Not using CPU crc32 instructions

2013-12-12 13:58:27 25936 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2013-12-12 13:58:27 25936 [Note] InnoDB: Completed initialization of buffer pool

2013-12-12 13:58:27 25936 [Note] InnoDB: Highest supported file format is Barracuda.

2013-12-12 13:58:27 25936 [Note] InnoDB: 128 rollback segment(s) are active.

2013-12-12 13:58:27 25936 [Note] InnoDB: Waiting for purge to start

2013-12-12 13:58:27 25936 [Note] InnoDB: 5.6.15 started; log sequence number 1625977

2013-12-12 13:58:27 25936 [Note] Binlog end

2013-12-12 13:58:27 25936 [Note] InnoDB: FTS optimize thread exiting.

2013-12-12 13:58:27 25936 [Note] InnoDB: Starting shutdown...

2013-12-12 13:58:29 25936 [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/mysql/bin/mysqladmin -u root password 'new-password'

  /usr/local/mysql/bin/mysqladmin -u root -h ziteng26 password 'new-password'


Alternatively you can run:


  /usr/local/mysql/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/mysql/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/mysql/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




[root@localhost ~]# 
cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost ~]# chmod 755 /etc/init.d/mysqld
查看mysqld服務是否設置爲開機啓動
[root@localhost ~]# chkconfig --list|grep mysqld
設置爲開機啓動
[root@localhost ~]# chkconfig mysqld on

啓動mysql數據庫,會輸出一系列實用的信息。告訴你接下去怎樣初始化mysql

[root@CentOS mysql]# service mysqld start

依照上述英文。咱們來初始化管理員root的password

[root@localhost ~]# /usr/local/mysql/bin/mysqladmin -u root password 'yourpassword' 

此處yourpassword設置爲 manager



衆所周知,mysql有兩種賬號類型,即localhost和%,前者限本機鏈接mysql,後者可用於其餘機器遠程鏈接mysql

最後,處理賬號登陸問題,讓root賬號password可以本地和遠程鏈接使用

[root@localhost ~]# /usr/local/mysql/bin/mysql -u root -p         #敲入該命令後。屏幕會提示輸入密碼。輸入上一步設置的yourpassword

    刪除rootpassword爲空的記錄

    mysql> use mysql;

    mysql> delete from user where password='';

    mysql> flush privileges;

    配置mysql贊成root遠程登陸                                  #登陸

    mysql> grant all privileges on *.* to root@'%' identified by "manager";

    mysql> flush privileges;

    mysql> select User,Password,Host from user;


    上述命令假設運行成功

     

    mysql> quit

 

 

至此,mysql安裝已經全部結束.


原文摘自:http://blog.sina.com.cn/s/blog_53decf440101qiv0.html

相關文章
相關標籤/搜索