centos環境下Yum+rmp安裝MySQL+Yum安裝MySQL下修改其數據存儲目錄

在centos上安裝mysql着實費了我一番功夫。一番探索後我成功的在4臺centos虛機上安裝上了mysql,其中三臺用yum的方式進行安裝,一臺用rpm的方式進行安裝。現做記錄如下:


0:檢查centos是否有安裝mysql和完全卸載mysql

  1. 查看MySQL是否安裝:

    yum list installed mysql*
    
    或者:
    rpm -qa | grep -i mysql

     

  2. 卸載mysql
     

    yum remove mysql mysql-server mysql-libs compat-mysql51(你所安裝的mysql)
    rm -rf /var/lib/mysql
    rm /etc/my.cnf

     

一:rpm方式安裝

軟件下載:上mysql的官網下載對應的版本軟件;我下載的是mysql-8.0.12-linux-glibc2.12-x86_64.tar這個版本。

  1. 解壓到你預裝mysql的路徑:tar -xJvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz -C  /opt/app
  2. 建目錄授權等 

    groupadd mysql
    useradd mysql
    mkdir -p /opt/dataSet/mysql #(創建一個用於存放數據的文件夾)
    chown -R mysql:mysql /opt/dataSet/mysql/
    chmod -R 775 /opt/dataSet/mysql/

     

  3. 配置文件/etc/my.cof如下
     
    [mysqld]
    server-id                      = 1
    port                           = 3306
    mysqlx_port                    = 33060
    mysqlx_socket                  = /tmp/mysqlx.sock
    basedir                        = /opt/app/mysql  #(我的軟件安裝在這裏)
    datadir                        = /opt/dataSet/mysql #(我的數據放在這個文件夾)
    socket                         = /tmp/mysql.sock
    pid-file                       = /tmp/mysqld.pid
    log-error                      = /opt/dataSet/mysql/error.log #(對應修改)
    slow-query-log                 = 1
    slow-query-log-file            = slow.log
    long_query_time                = 0.2
    log-bin                        = bin.log
    relay-log                      = relay.log
    binlog_format                 =ROW
    relay_log_recovery            = 1
    #character-set-client-handshake = FALSE
    character-set-server           = utf8mb4
    collation-server               = utf8mb4_unicode_ci
    init_connect                   ='SET NAMES utf8mb4'
    innodb_buffer_pool_size        = 1G
    join_buffer_size               = 128M
    sort_buffer_size               = 2M
    read_rnd_buffer_size           = 2M
    log_timestamps                 = SYSTEM
    lower_case_table_names         = 1
    default-authentication-plugin  =mysql_native_password #(設置爲可遠程登錄)
    
  4. 初始化數據庫:

    /opt/app/mysql/bin/mysqld --user=mysql --basedir=/opt/app/mysql --datadir=/opt/dataSet/mysql --initialize-insecure


    官方推薦使用--initialize,會在錯誤日誌中生成難以輸入的臨時密碼,我這裏使用的免密碼的方式
     

    cat  /opt/dataSet/mysql/error.log | grep -i password
    
    

     

  5. 設置啓動文件和環境變量:

    cp /opt/app/mysql/support-files/mysql.server /etc/init.d/mysql

     

  6. --啓動數據庫:
     

    /etc/init.d/mysql start
    
    
    vim /etc/profile.d/mysql.sh
    
    cat /etc/profile.d/mysql.sh
    
    export PATH=$PATH:/opt/dataSet/mysql/bin

    使得環境變量生效:

    source /etc/profile.d/mysql.sh

     

  7. 安裝完畢,查看mysql版本信息:

     mysqld --version

     

  8. 登錄mysql
    /opt/app/mysql/bin/mysql -p -S /tmp/mysql.sock
    或者:
    mysql -uroot -p 

  9. 設置navicat可遠程登錄(以下操作皆在mysql中)

    在設置之前先把免密登錄mysql改成自己設置的密碼。
    下面設置爲“123456”
    set global validate_password.policy=0;
    set global validate_password.length=1;
    alter user user() identified by '123456';
    

    設置遠程連接
     

    use mysql;
    alter user 'root'@'localhost' identified with mysql_native_password by '123456';
    flush privileges;
    update user set host='%' where user='root';
    flush privileges;
    

    安裝成功連接成功:

  10. 設置mysql快捷登錄
     

    vim .bashrc
    

    在文件中添加

    alias mysql='mysql -uroot -p123456'
    

    使配置文件生效
     

    source .bashrc
    

    這樣就可以直接在指令行中打mysql登錄了

 


二:yum方式安裝

找了許久,發現照着博客能成功安裝的有yum 連接

對於一般的人照着上面那個博客也夠用了,但是因爲上述yum安裝,數據的存儲路徑默認爲/var/lib/mysql。可是我所用的虛機磁盤主要掛在/opt路徑,考慮到以後會在mysql中存儲大量的數據,所以經過一番不易的探索,把mysql的數據存儲路徑換在了/opt/dataSet路徑。具體步驟如下所示:

  1. 把/var/lib/mysql 整個目錄複製到/opt/dataSet(把/var/lib/mysql整個目錄保持權限複製到/opt/dataSet)
    cp  -arp /var/lib/mysql /opt/dataSet/ 

     

  2. 修改配置文件 my.cnf
    datadir=/opt/dataSet/mysql #(新的數據存儲路徑)
    socket=/opt/dataSet/mysql/mysql.sock #(#修改socket參數)
    
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    default_authentication_plugin=mysql_native_password
    

     

  3. 修改MySQL啓動腳本/etc/init.d/mysql
     

    datadir = /opt/dataSet/mysql
    
    ln -s /opt/dataSet/mysql/mysql.sock  /var/lib/mysql/mysql.sock
    

     

  4. 做一個mysql.sock 鏈接:

    ln -sf /opt/dataSet/mysql/mysql.sock  /var/lib/mysql/mysql.sock


     

  5. 檢查相關目錄的屬主和權限。
     

    chown -R mysql:mysql /opt/dataSet/mysql/

     

  6. 重啓mysql
     

    /etc/init.d/mysql start
    或者
    service mysqld start
    

     

參考博客:rmp安裝yum安裝更換mysql數據存儲路徑1更換mysql數據存儲路徑2 
 

 

 

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