MySQL二進制安裝

Centos7:二進制方法安裝Mysql數據庫:
###安裝前提:確保本機沒有安裝mariadb的服務,也不應該含有3306端口;
# 1 下載安裝包

在httpd://downloads.mariadb.org網頁下載二進制安裝包"mariadb-10.2.12-linux-x86_64.tar.gz"

# > 2 數據庫以mysql這個用戶運行的,所以要創建賬號

    useradd -r mysql -s /sbin/nologin

3 解壓"mariadb-10.2.12-linux-x86_64.tar.gz"文件,由於二進制的包是編譯完成的,指定了路徑爲/usr/local;所以要解壓到此處

    tar zxvf mariadb-10.2.12-linux-x86_64.tar.gz -C /usr/local

4 解壓完成後的名稱當初編譯的時候名爲mysql所以要創建一個軟連接,指向mysql

    ln -s mariadb-10.2.12-linux-x86_64/ mysql

5 解壓完成後,當中的文件沒有指定所有者所有組,建議將所有者域所有組改爲mysql

    chown -R mysql.mysql mysql

6 將二進制程序的路徑放入到PATH中,方便在全局使用

    echo 'PATH=/usr/local/mysql/bin:$PATH'  > /etc/profile.d/mysql.sh
    source /etc/profile.d/mysql.sh

7 準備存放數據庫的文件夾,就是指存放大量數據文件的位置,建議將存放操作系統的空間與存放數據的空間分離,而且建議使用邏輯卷

    1 虛擬機中添加了一塊兒大小爲20G的磁盤
    2 分區磁盤並且修改爲LVM
      fdisk /dev/sdb
        n:開始分區
        p:默認主分區
        大小統統默認直接回車就可以,根據實際情況定義
        t:修改分區類型
        8e:修改爲LVM版
        w :保存退出
    3 pvcreate /dev/sdb1                        #創建pv
      vgcreate vg0-mysql /dev/sdb1 -s 16M       #創建vg並命名爲vg0-mysql而且pe大小爲16M
      lvcreate -n lv_mysqldata -l 100%FREE vg0-mysql #創建lv並命名爲lv_mysqldata並且使用vg0-mysql上的所有剩餘空間
    4 mkfs.xfs /dev/vg0-mysql/lv_mysqldata      #給新創建的lv創建xfs的文件系統
    5 mkdir /data/mysqldb                                 #創建給邏輯卷掛載的目錄
    6 blkid                                                          #查找出邏輯卷的uuid
    7 vim /etc/fstab                                           #在文件中添加如下內容,注意UUID是不同的,實驗環境是這個
      UUID=784ecb9c-de51-4140-9676-a0161ba205c1 /data/mysqldb           xfs     defaults        0 0    
    8 mount -a                                  #執行文件中沒有掛載的那一行,永久掛載

8 要將創建的目錄的所有者和所屬組改爲mysql,因爲是爲了給mysql做存放數據用的目錄,所以必然要擁有權限

    chown -R mysql.mysql /data/mysqldb

9 基於安全考慮,我們可以將存放數據庫的目錄權限改爲770,也就是說除了mysql其他的用戶都進不去

    chmod 770 /data/mysqldb

10 要在/usr/local/mysql/下執行scripts/mysql_install_db這個腳本進行安裝數據庫,並且要執行datadir也就是數據庫的存放目錄以及運行用戶--user;

出現OK字樣則證明運行成功,信息中有一條執行./bin/mysql_secure_installation的指令,這是安全腳本,默認安裝完數據庫是不存在口令的,所以可以運行一下此腳本;

     1 cd /usr/local/mysql
    2 scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql

11 如果沒有什麼安全限制的話則就可以啓動服務了,但注意,此時默認的配置文件是/etc/my.cnf,當中的數據庫路徑域socket路徑都是默認指定的,但當中的配置也略少,所以可以在/usr/local/mysql/support-files下修改特定環境的配置文件

    my-small.cnf:小環境使用
    my-medium.cnf:稍小環境使用
    my-large.cnf:大的環境使用
    my-huge.cnf:巨大的環境使用(其實巨大也沒多大1G-2G都算巨大了= =)每一個下面都有信息,實驗當中使用此配置文件;
    my-innodb-heavy-4G.cnf:4G內存的環境下使用

12 將此配置文件複製到/etc/下並且命名爲my.cnf

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

    **13 複製過去之後進行編輯修改,當中存在[mysqld]與[client]兩個語句塊兒,在[mysqld]下添加一行用於修改數據庫路徑:datadir = /data/mysqldb**
    **14 在/usr/local/mysql/support-files下還存在一個用於服務啓動停止的腳本,名爲mysql.server,將此文件複製到/etc/init.d/下命名爲mysqld方便全局使用**
        cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
        並且添加到chkconfig中開機自啓動:chkconfig --add mysqld

15 啓動服務

    service mysqld start
注意:當服務啓動後,在/tmp/下會生成一個粉色的mysql.sock文件,當服務停止的時候,文件也會消失,因爲在配置文件當中的定義就是/tmp/mysql.sock

16 此時服務已經啓動,但是默認是沒有密碼的,所以說任何人都可以登錄數據庫並且進行一系列的操作,在數據庫中默認會出現幾個表,這幾個表的存放位置在/data/mysqldb下;

    mysql              #此命令可直接登錄進數據庫
    show databases;    #這是sql語句,在數據庫中執行可查看當時數據庫中擁有的表;
    drop database test; #刪除名爲test的數據庫,刪除後在/data/mysqldb下就會消失;

17 進入數據庫查看存在哪些不安全的用戶;

        mysql                                           #連接進數據庫
        select user,host from mysql.user;               #查看mysql庫中的user表下的user和host字段信息;

18 在Linux環境下運行mysql_secure_installation腳本加固安全性;

    mysql_secure_installation         #按照腳本的提示一步一步往下走即可

19 當修改完成後再使用空口令就沒有辦法連接了,所以要使用以下方法連接

    mysql -uroot -pmysql                       #-u:指定登錄用戶
                                                               #-p:指定登錄密碼,mysql是我剛剛執行那個腳本的時候設置的密碼

Centos6上面需要二進制安裝的話與上述操作一模一樣,就是包不一樣,包名爲"mariadb-5.5.59-linux-x86_64.tar"

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