centos下編譯安裝MySQL5.7.16

來源:互聯網
上載者:User

標籤:centos mysql 編譯安裝

一、簡介

  MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 最流行的關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關聯式資料庫管理系統) 應用軟體之一。

  MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

  MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標準化語言。MySQL 軟體採用了雙授權政策,它分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。

  由於其社區版的效能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。

二、準備

1、關閉selinux:

  sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

2、安裝相關工具

  yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison 

3、軟體下載

  下載MySQL:

  wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16.tar.gz

  下載boost:

  wget http://liquidtelecom.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar

4、 清理環境(從MySQL 5.7.5開始Boost庫是必需的) 

  檢查boost版本: 

    rpm -qa boost* 

  卸載boost-*等庫: 

    yum -y remove boost-*

5、卸載系統已經安裝的MySQL

  查看安裝的MySQL 

    rpm -qa|grep -i mysql

  卸載安裝的mysql 

    yum remove mysql 

  查看剩餘的安裝包 

    rpm -qa|grep -i mysql 

  逐個刪除安裝包

    rpm -qa|grep -i mysql 

    rm -rf /etc/my.cnf 

    rm -rf /usr/share/mysql 或者rm -rf /var/lib/mysql 根據自己環境刪

6、建立mysql使用者, 組及目錄 

  groupadd mysql 

  mkdir /usr/local/mysql 

  mkdir -p /usr/local/mysql/data

  useradd -g mysql -d /usr/local/mysql -s /sbin/nologin mysql

二、安裝

1、安裝boost

  從MySQL 5.7.5開始Boost庫是必需的,下載Boost庫,在解壓後複製到/usr/local/boost目錄下(然後重新cmake並在後面的選項中加上選項 -DWITH_BOOST=/usr/local/boost)

  tar -zxvf boost_1_59_0.tar.gz -C /usr/local/boost

2、編譯安裝MySQL(新版本的mysql用cmake編譯安裝) 

  tar -zxvf mysql-5.7.16.tar.gz

  cd mysql-5.7.16

  cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

  -DMYSQL_DATADIR=/usr/local/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 \

  -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

常用參數:

CMAKE_INSTALL_PREFIX:指定MySQL程式的安裝目錄,預設/usr/local/mysql 

DEFAULT_CHARSET:指定伺服器預設字元集,預設latin1 

DEFAULT_COLLATION:指定伺服器預設的校對規則,預設latin1_general_ci 

ENABLED_LOCAL_INFILE:指定是否允許本地執行LOAD DATA INFILE,預設OFF 

WITH_COMMENT:指定編譯備忘資訊 

WITH_xxx_STORAGE_ENGINE:指定靜態編譯到mysql的儲存引擎,MyISAM,MERGE,MEMBER以及CSV四種引擎預設即被編譯至伺服器,不需要特別指定。 

WITHOUT_xxx_STORAGE_ENGINE:指定不編譯的儲存引擎 

SYSCONFDIR:初始化參數檔案目錄 

MYSQL_DATADIR:資料檔案目錄 

MYSQL_TCP_PORT:服務連接埠號碼,預設3306 

MYSQL_UNIX_ADDR:socket檔案路徑,預設/tmp/mysql.sock

3、編譯安裝

make && make install

4、設定許可權並初始化MySQL系統授權表 

  設定許可權:

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

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

  初始化: 

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


5、建立設定檔 

  將預設產生的my.cnf備份 

    mv /etc/my.cnf /etc/my.cnf.bak 

  拷貝設定檔範本為新的mysql設定檔

    cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 

    可按需修改新的設定檔選項, 不修改配置選項, mysql則按預設配置參數運行. 

       如下是我修改設定檔/etc/my.cnf, 用於設定編碼為utf8以防亂碼 

[mysqld] 

character_set_server=utf8 

init_connect=’SET NAMES utf8’ 

[client] 

default-character-set=utf8

6、配置mysql服務開機自動啟動 

  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 

  chmod 755 /etc/init.d/mysqld

    檢查自啟動項列表中沒有mysqld這個,如果沒有就添加mysqld: 

 chkconfig –list mysqld 

 chkconfig –add mysqld 

    設定MySQL在345等級自動啟動 

 chkconfig –level 345 mysqld on 

 或用這個命令設定開機啟動:chkconfig mysqld on #加入開機啟動

vi /etc/init.d/mysqld #編輯 

basedir = /usr/local/mysql #MySQL程式安裝路徑 

datadir = /usr/local/mysql/data #MySQl資料庫存放目錄 

service mysqld start #啟動 

vi /etc/profile #把mysql服務加入系統內容變數:在最後添加下面這一行 

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

:wq! #儲存退出 

7、下面這兩行把myslq的庫檔案連結到系統預設的位置,這樣你在編譯類似PHP等軟體時可以不用指定mysql的庫檔案地址。 

  ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql 暫無此檔案 

  ln -s /usr/local/mysql/include/mysql /usr/include/mysql

8、shutdown -r now #需要重啟系統,等待系統重新啟動之後繼續在終端命令列下面操作 

  mysql_secure_installation #設定Mysql密碼 

  根據提示按Y 斷行符號 ,然後輸入2次密碼,繼續按Y 斷行符號,直到設定完成 

  或者直接修改密碼/usr/local/mysql/bin/mysqladmin -u root -p password “123456” #修改密碼 

  service mysqld restart #重啟 

  到此,mysql安裝完成!

9、mysql服務的啟動/重啟/停止 

  啟動mysql服務 :service mysqld start 

  重啟mysql服務:service mysqld restart 

  停止mysql服務:service mysqld stop

  訪問mysql資料庫 

    串連mysql, 輸入初始化產生的隨機密碼 

mysql -uroot -p 

修改root新密碼如 123456 

mysql> alter user ‘root’@’localhost’ identified by ‘123456’; 

mysql> quit; 

mysql> exit;(與上等效, 都是退出mysql串連) 

使用新密碼重新串連mysql 

mysql -uroot -p

14.設定遠程能訪問資料庫 

  使用mysql -h localhost -u root -p登入mysql資料庫 執行 

    grant all privileges on . to [email protected]’%’ identified by ‘密碼’ 使遠端使用者能夠訪問資料庫 ,執行命令 :flush privileges;


centos下編譯安裝MySQL5.7.16

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.