linux mysql 安裝步驟- 原始碼安裝5.7.17 版本

huangdazhu發表於2017-05-11

                   最近沒有經常出差,特定溫習一下mysql的相關知識,以備需要!

1:首先下載mysql 二進位制安裝檔案
mysql-5.6.17.tar.gz
存放目錄/u01/soft/mysql-5.6.17.tar.gz
tar -xf mysql-5.6.17.tar.gz
cd mysql-5.6.17
進行cmake,但是提示沒有安裝cmake

2:下載cmake
cmake-2.8.10.2.tar.gz
tar -xf cmake-2.8.10.2.tar.gz
./configure
make && make install

3:進行cmake
    先建立mysql 安裝目錄以及資料檔案存放目錄
        mkdir -p /mysql
        mkdir -p /mysql/data
    同時需要建立mysql 賬號
        useradd mysql
        passwd mysql
    再進行目錄授權:
        chown -R mysql:mysql /mysql
   cd mysql-5.6.17
 cmake \
        -DCMAKE_INSTALL_PREFIX=/mysql/ \               //mysql軟體安裝的根目錄
        -DMYSQL_DATADIR=/mysql/data \                   //mysql 資料檔案存放目錄
        -DSYSCONFDIR=/etc \                                    //mysql  配置檔案(my.cnf)目錄
        -DWITH_MYISAM_STORAGE_ENGINE=1 \         // 儲存引擎選項
        -DWITH_INNOBASE_STORAGE_ENGINE=1 \    // 以啟用InnoDB、引擎支援:
        -DWITH_MEMORY_STORAGE_ENGINE=1 \
        -DWITH_READLINE=1 \                                 
        -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \   
        -DMYSQL_TCP_PORT=3306 \
        -DENABLED_LOCAL_INFILE=1 \                          // 啟用載入本地資料
        -DWITH_PARTITION_STORAGE_ENGINE=1 \        
        -DEXTRA_CHARSETS=all \
        -DDEFAULT_CHARSET=utf8 \                           // 預設字符集
        -DDEFAULT_COLLATION=utf8_general_ci          //字符集校對
    進行編譯,編譯時報錯如下:
            heck size of wctype_t - done
            -- Check size of wint_t
            -- Check size of wint_t - done
            -- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 
                CMake Error at cmake/readline.cmake:85 (MESSAGE):
                  Curses library not found.  Please install appropriate package,


              remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
            Call Stack (most recent call first):
              cmake/readline.cmake:128 (FIND_CURSES)
              cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
              CMakeLists.txt:411 (MYSQL_CHECK_EDITLINE)
    這個報錯是提示缺少ncurses-devel依賴包
    進行下載:ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
        rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm 
        warning: ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
        Preparing...                ########################################### [100%]
       1:ncurses-devel          ########################################### [100%]
    同時rm -rf CMakeCache.txt 然後進行重新cmake
        完成之後,進行make && make install 進行mysql 安裝
        - Installing: /mysql/man/man1/msql2mysql.1
        -- Installing: /mysql/man/man8/mysqld.8
        -- Installing: /mysql/support-files/solaris/postinstall-solaris
        算安裝完成了,接下來就需要進行配置
4: 進入到mysql的安裝目錄,/mysql下:進行mysql 資料庫初始化
        scripts/mysql_install_db --basedir=mysql --datadir=/mysql/data --user=mysql  //初始化mysql資料庫
      但是報錯
        [root@db_test scripts]# ./mysql_install_db  --basedir=mysql --datadir=/mysql/data --user=mysql
            FATAL ERROR: Could not find ./bin/my_print_defaults
               cd  /u01/soft/mysql-5.6.17/support-files
         
            cp  my-default.cnf /usr/local/mysql/my.cnf //copy配置檔案

            [root@db_test support-files]# chown -R mysql:mysql /mysql
        vi /my.cnf 新增以下內容
    [mysqld]
    basedir = /mysql          
    datadir = /mysql/data  
    log-error = /mysql/mysql_error.log          
    pid-file = /mysql/mysql.pid          
    user = mysql
    tmpdir = /tmp 

    初始化mysql資料庫
[root@db_test scripts]# ./mysql_install_db  --basedir=/mysql --datadir=/mysql/data --user=mysql
Installing MySQL system tables...2017-05-11 15:01:56 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-05-11 15:01:56 8161 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-05-11 15:01:56 8161 [Note] InnoDB: The InnoDB memory heap is disabled
2017-05-11 15:01:56 8161 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-05-11 15:01:56 8161 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-05-11 15:01:56 8161 [Note] InnoDB: Using CPU crc32 instructions
2017-05-11 15:01:56 8161 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-05-11 15:01:56 8161 [Note] InnoDB: Completed initialization of buffer pool
2017-05-11 15:01:56 8161 [Note] InnoDB: Highest supported file format is Barracuda.
2017-05-11 15:01:56 8161 [Note] InnoDB: Log scan progressed past the checkpoint lsn 1600617
2017-05-11 15:01:56 8161 [Note] InnoDB: Database was not shutdown normally!
2017-05-11 15:01:56 8161 [Note] InnoDB: Starting crash recovery.
2017-05-11 15:01:56 8161 [Note] InnoDB: Reading tablespace information from the .ibd files...
2017-05-11 15:01:56 8161 [Note] InnoDB: Restoring possible half-written data pages 
2017-05-11 15:01:56 8161 [Note] InnoDB: from the doublewrite buffer...

    或使用下列命令把mysql新增為系統服務
    cd/mysql/support-files/   
    cp ./mysql.server /etc/init.d/mysqld  
    /etc/init.d/mysqld start

    在配置環境變數
export PATH=$PATH:/mysql/bin

    [mysql@db_test ~]$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.17 Source distribution


Copyright (c) 2000, 2014, 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 |
| test               |
+--------------------+
2 rows in set (0.00 sec)


mysql> 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28869493/viewspace-2138905/,如需轉載,請註明出處,否則將追究法律責任。

相關文章