溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql如何源碼安裝5.7-17-19版本

發(fā)布時(shí)間:2021-12-04 10:14:00 來源:億速云 閱讀:104 作者:小新 欄目:服務(wù)器

這篇文章將為大家詳細(xì)講解有關(guān)mysql如何源碼安裝5.7-17-19版本,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

由于項(xiàng)目需要,現(xiàn)在要使用5.7.19版本的mysql

1:首先下載mysql 二進(jìn)制安裝文件

mysql-5.6.19.tar.gz

存放目錄/mysql/mysql-5.6.19.tar.gz

tar -xf mysql-5.6.19.tar.gz

cd mysql-5.6.19

進(jìn)行cmake,但是提示Cmake版本過低,至少需要2.8的版本

2:下載cmake 

cmake-2.8.10.2.tar.gz

tar -xf cmake-2.8.10.2.tar.gz

./configure

make && make install

3:進(jìn)行cmake

    先創(chuàng)建mysql 安裝目錄以及數(shù)據(jù)文件存放目錄

        mkdir -p /mysql/mysql

        mkdir -p /mysql/mysql/data

    同時(shí)需要?jiǎng)?chuàng)建mysql 賬號

        useradd mysql

        passwd mysql

    再進(jìn)行目錄授權(quán):

        chown -R mysql:mysql /mysql

這個(gè)是5.7.17版本的編譯安裝

   cd mysql-5.6.17

 cmake \

        -DCMAKE_INSTALL_PREFIX=/mysql/ \               //mysql軟件安裝的根目錄

        -DMYSQL_DATADIR=/mysql/data \                   //mysql 數(shù)據(jù)文件存放目錄

        -DSYSCONFDIR=/etc \                                    //mysql 配置文件(my.cnf)目錄

        -DWITH_MYISAM_STORAGE_ENGINE=1 \         //存儲引擎選項(xiàng)

        -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 \                          //啟用加載本地?cái)?shù)據(jù)

        -DWITH_PARTITION_STORAGE_ENGINE=1 \        

        -DEXTRA_CHARSETS=all \

        -DDEFAULT_CHARSET=utf8 \                           //默認(rèn)字符集

        -DDEFAULT_COLLATION=utf8_general_ci          //字符集校對

    進(jìn)行編譯,編譯時(shí)報(bào)錯(cuò)如下:

            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)

    這個(gè)報(bào)錯(cuò)是提示缺少ncurses-devel依賴包

    進(jìn)行下載: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%]

    同時(shí)rm -rf CMakeCache.txt 然后進(jìn)行重新cmake

        完成之后,進(jìn)行make && make install 進(jìn)行mysql 安裝

        - Installing: /mysql/man/man1/msql2mysql.1

        -- Installing: /mysql/man/man8/mysqld.8

        -- Installing: /mysql/support-files/solaris/postinstall-solaris

        算安裝完成了,接下來就需要進(jìn)行配置

這是5.7.17的步驟

4: 進(jìn)入到mysql的安裝目錄,/mysql下:進(jìn)行mysql 數(shù)據(jù)庫初始化

        scripts/mysql_install_db --basedir=mysql --datadir=/mysql/data --user=mysql  //初始化mysql數(shù)據(jù)庫

      但是報(bào)錯(cuò)

        [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 添加以下內(nèi)容

    [mysqld]

    basedir = /mysql          

    datadir = /mysql/data  

    log-error = /mysql/mysql_error.log          

    pid-file = /mysql/mysql.pid          

    user = mysql

    tmpdir = /tmp 

    初始化mysql數(shù)據(jù)庫

[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添加為系統(tǒng)服務(wù)

    cd/mysql/support-files/   

    cp ./mysql.server /etc/init.d/mysqld  

    /etc/init.d/mysqld start

    在配置環(huán)境變量

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)

5:5.7.19版本的安裝步驟

5.7.19版本安裝是時(shí)候提示

CMake Error at cmake/boost.cmake:81 (MESSAGE):

  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

所以下載boost軟件

[root@localhost ~]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

tar -xf boost_1_59_0.tar.gz

cp -r boost_1_59_0 /usr/local/boost

進(jìn)行安裝

cmake \

-DCMAKE_INSTALL_PREFIX=/mysql/mysql \

-DMYSQL_DATADIR=/mysql/mysql/data \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_USER=mysql \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DENABLE_DOWNLOADS=1 \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/boost  

完成之后,進(jìn)行make && make install 

時(shí)間很長,可以出去抽根煙。

配置環(huán)境變量

export PATH=/mysql/mysql/bin:/mysql/mysql/lib:$PATH

時(shí)間很長

cd mysql/bin

./mysqld --initialize-insecure --user=mysql --basedir=/mysql/mysql --datadir=/mysql/data

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@localhost mysql]# chmod a+x /etc/init.d/mysqld

再編輯/etc/my.cnf

[mysqld]

datadir=/mysql/data

socket=/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/mysql/mysql/logs/mysqld.log

pid-file=/mysql/mysql/logs/mysqld.pid

[client]

default-character-set=utf8

socket=/mysql/mysql.sock

[mysql]

default-character-set=utf8

socket=/mysql/mysql.sock

啟動(dòng)mysql

[root@localhost mysql]# service mysqld start

Starting MySQL.2018-08-30T01:45:21.383785Z mysqld_safe error: log-error set to '/mysql/mysql/logs/mysqld.log', however file don't exists. Create writable for user 'mysql'.

The server quit without updating PID file (/mysql/data/loca[失敗]localdomain.pid)

報(bào)錯(cuò),需要?jiǎng)?chuàng)建文件。

[root@localhost logs]# touch mysqld.log

[root@localhost logs]# touch mysqld.pid

[root@localhost logs]# chown -R mysql:mysql /mysql

 [root@localhost mysql]# service mysqld start

Starting MySQL.                                            [確定]

[root@localhost mysql]# 

[mysql@localhost ~]$ mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.19 Source distribution

Copyright (c) 2000, 2017, 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 |

| sys                |

+--------------------+

4 rows in set (0.00 sec)

mysql> 

再修改root的密碼

Database changed

mysql> select host,user,authentication_string from user;

+-----------+---------------+-------------------------------------------+

| host      | user          | authentication_string                     |

+-----------+---------------+-------------------------------------------+

| localhost | root          |                                           |

| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

+-----------+---------------+-------------------------------------------+

3 rows in set (0.00 sec)

mysql> UPDATE user SET authentication_string=PASSWORD('shenzhen#123')WHERE user='root';

Query OK, 1 row affected, 1 warning (0.01 sec)

Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,authentication_string from user;

+-----------+---------------+-------------------------------------------+

| host      | user          | authentication_string                     |

+-----------+---------------+-------------------------------------------+

| localhost | root          | *4E25F9206A350692D2F5AC0512B41C69759FF312 |

| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

+-----------+---------------+-------------------------------------------+

3 rows in set (0.00 sec)

mysql> 

mysql> 

關(guān)于“mysql如何源碼安裝5.7-17-19版本”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI