centos下編譯安裝MySQL5.7.16

一、簡介

  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 https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

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 root@’%’ identified by ‘密碼’ 使遠程用戶能夠訪問數據庫 ,執行命令 :flush privileges;


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