CentOS 7.7 離線安裝 MySQL 5.7.25

操作系統:CentOs 7.7

MySQL版本:MySQL-5.7.25-x86_64

安裝步驟:

  1. 查找並卸載mariadb

    # 查找當前系統下是否有mariadb
    [root@kiwi4814 ~]$ rpm -qa | grep mariadb
    # 卸載
    mariadb-libs-5.5.64-1.el7.x86_64
    [root@kiwi4814 ~]$ rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
    
  2. 卸載原有的mysql相關

    # 查找當前系統是否有mysql
    [root@kiwi4814 ~]$ rpm -qa | grep mysql
    # 刪除配置文件
    [root@kiwi4814 ~]$ rm /etc/my.cnf
    # 查找是否存在mysql用戶組和用戶
    [root@kiwi4814 ~]$ cat /etc/group | grep mysql
    [root@kiwi4814 ~]$ cat /etc/passwd | grep mysql
    
  3. 創建mysql用戶和組

    # 創建用戶組
    [root@kiwi4814 ~]$ groupadd mysql
    # 創建用戶
    [root@kiwi4814 ~]$ useradd -g mysql mysql
    # 修改用戶密碼
    [root@kiwi4814 ~]$ passwd mysql
    Changing password for user mysql.
    New password: 
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    
  4. mysql離線安裝文件上傳到服務器上

    (1)下載地址及文件位置

在這裏插入圖片描述

(2)上傳到服務器的/usr/local/目錄下

scp /localurl/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz root@host:/usr/local/
  1. 解壓並建立軟鏈接

    # 注意:5的操作均在此目錄下進行
    [root@kiwi4814 ~]$ cd /usr/local/
    # 解壓
    [root@kiwi4814 local]$ tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
    # 創建軟鏈接
    [root@kiwi4814 local]$ ln -s mysql-5.7.25-linux-glibc2.12-x86_64 mysql
    # 賦予mysql用戶權限
    [root@kiwi4814 local]$ chown -R mysql:mysql mysql/
    
  2. 創建相關文件,賦予mysql用戶權限

    # 分別創建data tmp log文件夾
    # 此目錄可自行指定,不過要和mysql配置文件中相一致
    [root@kiwi4814 ~]$ mkdir -p /home/kiwi4814/mysql/{data,tmp,log}
    # 賦權
    [root@kiwi4814 ~]$ cd /home/kiwi4814/
    [root@kiwi4814 kiwi4814]$ chown -R mysql:mysql mysql/
    
  3. 創建並修改配置文件

    # 這裏選擇將配置文件放在/etc下面,也可以放在mysql根目錄下
    [root@kiwi4814 ~]$ cd /etc
    # 創建並編輯my.cnf
    [root@kiwi4814 etc]$ vi my.cnf
    

    這裏給出一份配置文件作爲參考:

    [mysql]
    default-character-set = utf8mb4
    
    [mysqld]
    #  ---------------- Basic ----------------
    server_id = 100
    port = 3306
    basedir = /usr/local/mysql
    datadir = /home/kiwi4814/mysql/data
    socket = /tmp/mysql.sock
    skip-host-cache
    skip_name_resolve
    lower_case_table_names = 1
    character-set-server = utf8mb4
    collation-server = utf8mb4_general_ci
    init_connect = 'SET NAMES utf8mb4'
    query_cache_size = 0
    query_cache_type = 0
    sql_mode = NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
    
    #  ---------------- Connection/File/Table ----------------
    max_connections = 10000
    max_connect_errors = 20000
    interactive_timeout = 1800
    wait_timeout = 1800
    lock_wait_timeout = 1800
    max_allowed_packet = 1024M
    
    #  ---------------- log ----------------
    log-bin=/home/kiwi4814/mysql/log/mysql-bin
    log_error = /home/kiwi4814/mysql/log/error.log
    binlog_format = ROW
    expire_logs_days = 8
    
  4. 安裝mysql(要先安裝依賴)

    # 安裝相關依賴,否則會報錯,此處不再演示離線安裝方式,需要的自行查閱
    [root@kiwi4814 ~]$ yum install libaio*
    # 進入到mysql /bin 目錄
    [root@kiwi4814 ~]$ cd /usr/local/mysql/bin/
    # 初始化mysql,指定用戶爲mysql
    # 此處如果日誌中配置了log_error,則控制檯不會打印數據
    [root@kiwi4814 bin]$ ./mysqld --initialize --user=mysql
    
  5. 設置開機啓動

    # 進入應用根目錄
    [root@kiwi4814 ~]$ cd /usr/local/mysql/
    # 複製啓動腳本到資源目錄
    [root@kiwi4814 mysql]$ cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    # 增加mysqld服務控制腳本執行權限
    [root@kiwi4814 mysql]$ chmod +x /etc/rc.d/init.d/mysqld
    # 將mysqld服務加入到系統服務
    [root@kiwi4814 mysql]$ chkconfig --add mysqld
    # 檢查mysqld服務是否已經生效
    [root@kiwi4814 mysql]$ chkconfig --list mysqld
    
  6. 切換至mysql用戶,設置環境變量

    # 切換至mysql用戶
    [root@kiwi4814 ~]$ su - mysql
    # 修改配置文件,增加export PATH=$PATH:/usr/local/mysql/bin
    [mysql@kiwi4814 ~]$ vi .bash_profile 
    # 刷新配置文件使其立即生效
    [mysql@kiwi4814 ~]$ source .bash_profile
    
  7. 啓動服務

    # 仍然在mysql用戶下,啓動mysql(啓動用start)
    [mysql@kiwi4814 ~]$ service mysqld restart
    # 重啓的時候報警告
    Shutting down MySQL..[  OK  ]
    rm: cannot remove '/var/lock/subsys/mysql': Permission denied
    Starting MySQL.[  OK  ]
    # 切回root用戶,賦權即即可
    [mysql@kiwi4814 ~]$ su - root 
    [root@kiwi4814 ~]$ cd /var/lock/
    [root@kiwi4814 lock]$ chown -R mysql:mysql subsys/
    # 切回mysql重啓,成功。
    [mysql@kiwi4814 ~]$ service mysqld restart
    Shutting down MySQL..[  OK  ]
    Starting MySQL.[  OK  ]
    
  8. 修改mysql默認密碼並設置遠程連接

    -- 修改密碼
    set password for root@localhost=password("root");
    flush privileges;
    -- 遠程連接
    use mysql;
    update user set host='%' where user='root';
    flush privileges;
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章