mysql編譯安裝

1、 安裝環境

一、系統版本php

Centos6.7 64mysql

二、Mysql版本sql

mysql-5.6.28數據庫

三、需上傳的源碼包(建議全部的源碼包都上傳到/usr/local/src,這樣不會亂)服務器

四、http://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.28.tar.gzapp

mysql-5.6.28.tar.gzide

https://cmake.org/files/v3.6/cmake-3.6.1.tar.gzes5

cmake-3.6.1.tar.gzspa

1、 安裝步驟

1、安裝cmake軟件orm

1)、進入上傳包目錄解壓cmake

    tar zxvf cmake-3.6.1.tar.gz

2)、進入解壓文件,並進行配置、編譯、安裝。

       cd  cmake-3.6.1

       ./configure–prefix=/usr/local/cmake   //指定文件安裝目錄

make

make install

         3)、建立連接文件

             ln –s  /usr/local/cmake/bin/cmake /usr/bin/cmake

 2、安裝mysql5.6

1)、進入上傳包目錄解壓mysql5.6,並建立目錄

Mkdir –p /usr/local/mysql

Mkdir –p /data/mysql/

    tar zxvf mysql-5.6.28.tar.gz

2)、進入解壓文件,並進行配置、編譯、安裝。

    cd mysql-5.6.28
             cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql\
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql 
    make && make install


參數說明:

wKioL1ea5ibyqgLKAABS-4u3WOo791.png


3 更改並啓動數據庫

1)修改mysql的屬組

               

 chown –R mysql:mysql /data/mysql/
 chown -R mysql:mysql/usr/local/mysql/


             2)、初始化數據庫

        /usr/local/mysql/scripts/mysql_install_db  \
--user=mysql \ 
--basedir=/usr/local/mysql/ \
--datadir=/data/mysql


      3)、複製配置文件,並啓動mysql

          

 cp support-files/my-default.cnf/etc/my.cnf
           cp /etc/init.d/mysqld/root/mysqld_5.1_bak
           cp support-files/mysql.server /etc/init.d/mysqld
           chmod +x /etc/init.d/mysql 
           /etc/init.d/mysqld start


 4 登陸數據庫

/usr/local/mysql/bin/mysql



5 總結遇到的錯誤:

1) 編譯mysql遇到的錯誤:

--Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Errorat cmake/readlineNaNake:64(MESSAGE): Curses library notfound. Please install appropriate package,remove CMakeCache.txt andrerun cmake.On Debian/Ubuntu, packagename is libncurses5-dev, on Redhat andderivates it is ncurses-devel. Call Stack (most recent call first): cmake/readlineNaNake:107(FIND_CURSES) cmake/readlineNaNake:181(MYSQL_USE_BUNDLED_EDITLINE) CMakeLists.txt:480(MYSQL_CHECK_EDITLINE) -- Configuring incomplete, errors occurred! See also "/mydata/mysql-5.7.6-m16/CMakeFiles/CMakeOutput.log".See also "/mydata/mysql-5.7.6-m16/CMakeFiles/CMakeError.log".

 

解決辦法:yum -y install ncurses-devel


2) 登陸mysql的時候遇到的錯誤: 

/usr/local/mysql/bin/mysql


Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.6.24 Source distribution
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.
Segmentation fault

mysql版本是5.6.24

服務器是CentOS6.0

解決方法 :

在源碼包裏,編輯文件 cmd-line-utils/libedit/terminal.c

把terminal_set方法中的 char buf[TC_BUFSIZE]; 這一行註釋,再把 area = buf;改成 area = NULL;

更改後以下:

protected int 
terminal_set(EditLine *el, const char *term) 
{ 
int i; 
/*char buf[TC_BUFSIZE];*/  ##註釋掉
char *area; 
const struct termcapstr *t; 
sigset_t oset, nset; 
int lins, cols; 
--phpfensi.com 
(void) sigemptyset(&nset); 
(void) sigaddset(&nset, SIGWINCH); 
(void) sigprocmask(SIG_BLOCK, &nset, &oset); 
area = NULL;

而後從新編譯mysql便可

相關文章
相關標籤/搜索