mysql5.7安裝

5.7特性:

    原生支持Systemd

    更好的性能:對於多核cpu,固態硬盤,鎖有着更好的優化

    更好的innoDB存儲引擎

    更好的複製功能:複製帶來啦數據完全不丟失的方案,傳統金融客戶也可以選擇使用。

    新增sys庫:會是DBA訪問最頻繁的庫

    更好的優化器:將在這個版本及以後的版本中帶來巨大改進

        oracle官方正解決mysql之前最大的難題原生JSON類型的支持。JSON是一種輕量級的數據交換格式,JSON採用完全獨立於語言的文本格式,但是也使用啦類似於C語言家族的習慣。這些特性使JSON成爲理想的數據交換語言。JSON語法是javascript對象表示語法的子集。

                        數據在鍵值中

                        數據由逗號分隔

                        花括號保存對象

                        方括號保存數組

            用JSON編寫的文件,可以代替.yaml格式的文件。

        系統環境:centos7.2 x86_64

因爲centos7.2默認安裝了mariadb-libs,所以先要卸載掉

            查看是否安裝mariadb

            rpm -qa | grep mariadb

            卸載mariadb

            rpm -e --nodeps mariadb-lib

        安裝依賴包

                cmake:由於umysql5.5版本開始棄用了常規的configure編譯方法,所以需要cmake編譯器,用於設置mysql的編譯參數。如:安裝目錄,數據存放目錄,字符編碼,排序規則等。http://www.cmake.org/download

                boost:從mysql5.7開始boost庫是必需的,mysql源碼中用到啦C++的boost庫。ftp://ftp.gnu.org/ncurses

                GCC:是linux下的C語言編譯工具,mysql源碼編譯完全由C++編寫

                bison:linux下C/C++語法分析器 http://ftp.gnu.org/gnu/bison

                ncurses:字符終端處理庫

            安裝cmake及必要的軟件

                    tar zxf cmdke-3.5.6.tar.gz

                    cd cmake-3.5.2

                    ./bootstrap

                    gmake && gmake install

            查看cmake版本:cmake -versioin

            安裝ncurses

                    tar zxf ncurses-5.9.tar.gz

                    cd ncurses-5.9

                    ./configure && make && make install

            安裝bison

                    tar zxf bison-3.0.4.tar.gz

                    cd bison-3.0.4

                    ./configure && make && make install

    

            安裝bootst

                    tar zxf boost_1_59_0.tar.gz

                    mv boost_1_59_0 /usr/local/boost

        創建mysql用戶和用戶組及目錄

                    groupadd -r mysql && useradd -r -g mysql -s /sbin/false -M mysql 新建mysql組合mysql用戶禁止登錄shell

                        mkdir /usr/local/mysql

                        mkdir /usr/local/mysql/data

            cmake -DSMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDFEAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGING=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost && make && make install

       配置解釋:

            -DCMAKE_INSTALL_PREFIX=/usr/local/mysql mysql安裝的根目錄

            -DMYSQL_DATADIR=/usr/local/mysql/data    mysql數據庫文件存放目錄

            -DSYSCONFDIR=/etc    mysql配置文件所在目錄

            -DWITH_MYISAM_STORAGE_ENGINE=1    添加MYISAM引擎支持

            -DWITH_INNOBASE_STORAGE_ENGINE=1    添加innoDB引擎支持

            -DWITH_ARCHIVE_STORAGE_ENGINE=1    添加ARCHIVE引擎支持

            -DMYSQL_UNIX_ADDR=/usr/local/mysql.sock    指定mysql.sock位置

            -DWITH_PRARTITION_STORAGE)ENGINE=1    安裝支持數據庫分區

            -DEXTRA_CHARSETS=all    使mysql支持所有的擴展字符

            -DDEFAULT_COLLATION=utf8_general_ci    設置默認字符集校對規則

            -DWITH_SYSTEMD=1    可以使用systemd控制mysql服務

            -DWITH_BOOST=/usr/local/boost    指向boost庫所在目錄

            爲了加快編譯速度還可以指定內核數編譯安裝

                make -j $(grep processor /proc/cpuinfo | wc -l) && make install

                -j參數表示根據CPU核數指定編譯時的線程數,可以加快編譯速度,默認爲1個線程編譯

                若要重新運行cmake配置,需要刪除CMakeCache.txt文件

                    make clean

                    rm -f CMakeCache.txt

                優化mysql的執行路徑

                    vim /etc/pofile

                    export PATH=$PATH:/usr/local/mysql/bin

                    source /etc/profile

                 設置權限並初始化mysql系統授權表

                    cd /usr/local/mysql

                    chown -R mysql:mysql    更改所有者,屬組。

                    bin/mysql --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

                1.以root初始化操作是要加--user=mysql參數,生成一個隨機密碼。

                2.以mysql5.7.6之前的版本執行這個腳本初始化系統數據庫

                     /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

                創建配置文件

                    cd /usr/local/mysql/support-files    進入mysql安裝目錄支持文件目錄

                    cp my-default.cnf /etc/my.cnf    複製模板爲新的配置文件

                        修改文件中配置選項

                             vim /etc/my.cnf

                             baseidr = /usr/local/mysql

                             datadir = /usr/local/mysql/data

                             port = 3306

                             server id = 1

                             socket = /usr/local/mysql/mysql.sock

                             log_errot = /usr/local/mysql/data/mysqld.err

                配置mysql自動啓動

                    cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

                    systemctl enable mysqld.service

                    systemctl start mysqld.service

                如服務啓動失敗,可以查看錯誤日誌

                    tail /usr/local/mysql/data/mysqld.err

                    在mysqld.service,默認的pid文件指定到啦/var/run/mysqld目錄,而並沒有事先建立該目錄,因此要手動建立該目錄並把授權賦給mysql用戶。如果想永久有效,就採用修改文件的方法:

                        mkdir /var/run/mysqld

                        chown -R mysql:mysql /var/run/mysqld

                      或者修改/usr/lib/system/system/mysqld.service,修改內容如下:

                        PIDFile=/usr/local/mysql/mysqld.pid

                        ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/mysqld.pid $MYSQLD_OPTS

                    重啓mysql服務:systemctl restart mysqld.service

                    查看端口號:netstat -anpt | grep mysqld    

                    訪問mysql數據庫

                mysql -u root -h 127.0.0.1 -p    -p是初始化時生成的隨機密碼                            

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章