1. 程式人生 > 實用技巧 >離線安裝 mysql-5.7.25

離線安裝 mysql-5.7.25

轉載:https://blog.csdn.net/lch520baby/article/details/89081306

第一步:下載

進入到mysql官網下載自己對應版本的mysql

下載地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

我這裡下載mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz版本

也可以進入linux後用命令下載

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

第二步:環境配置

linux連線工具:SecureCRT 8.1.4

linux檔案管理工具:WinSCP 5.14.4

linux系統版本:CentOS 7.3 64位

安裝原始檔版本:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

安裝前,我們可以檢測系統是否自帶安裝 MySQL:

rpm -qa | grep mysql

如有,類似

mysql-libs-5.1.52-1.el6_0.1.x86_64

那可以選擇進行解除安裝:

  1. rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64  // 普通刪除模式
  2. rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64  // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它檔案,則用該命令可以對其進行強力刪除

檢查否存在 mariadb 資料庫,如有,解除安裝之,解除安裝同上

rpm -qa | grep mariadb

如有,類似

mariadb-libs-5.5.56-2.el7.x86_64

則 解除安裝

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

用WinSCP 5.14.4工具將下載的mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz上傳到linux伺服器的/opt/mysql目錄下面

第三步:安裝

進入安裝包所在目錄,解壓檔案

  1. cd /opt/mysql
  2. tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

重新命名

mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25

新增系統mysql組和mysql使用者

檢查mysql組和使用者是否存在,如無建立

  1. cat /etc/group | grep mysql
  2. #類似
  3. mysql:x:490:
  4. cat /etc/passwd | grep mysql
  5. #類似
  6. mysql:x:496:490::/home/mysql:/bin/bash

以上為存在的情況,如無,執行新增命令:

  1. groupadd mysql
  2. useradd -r -g mysql mysql
  3. #useradd -r引數表示mysql使用者是系統使用者,不可用於登入系統

安裝資料庫

建立data目錄

  1. cd mysql-5.7.25
  2. mkdir data

將/opt/mysql/mysql-5.7.25的所有者及所屬組改為mysql

chown -R mysql.mysql /opt/mysql/mysql-5.7.25

在/opt/mysql/mysql-5.7.25/support-files目錄下建立my_default.cnf

  1. # For advice on how to change settings please see
  2. # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
  3. # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
  4. # *** default location during install, and will be replaced if you
  5. # *** upgrade to a newer version of MySQL.
  6. [mysqld]
  7. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  8. basedir = /opt/mysql/mysql-5.7.25
  9. datadir = /opt/mysql/mysql-5.7.25/data
  10. port = 3306
  11. socket = /tmp/mysql.sock
  12. character-set-server=utf8
  13. log-error = /opt/mysql/mysql-5.7.25/data/mysqld.log
  14. pid-file = /opt/mysql/mysql-5.7.25/data/mysqld.pid

拷貝,如果提示是否覆蓋,y

cp support-files/my_default.cnf /etc/my.cnf

初始化 mysqld

  1. cd /opt/mysql/mysql-5.7.25
  2. ./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.25/ --datadir=/opt/mysql/mysql-5.7.25/data/

初始化完成之後,檢視日誌

/opt/mysql/mysql-5.7.25/data/mysqld.log

臨時密碼

2019-04-08T06:14:29.790033Z 1 [Note] A temporary password is generated for root@localhost: a8?DQir=T+k+

把啟動指令碼放到開機初始化目錄

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

啟動mysql服務

service mysql start

登入mysql,密碼為初始密碼

  1. cd /opt/mysql/mysql-5.7.25
  2. ./bin/mysql -u root -p

修改密碼

  1. mysql> set password=password('123456');
  2. mysql> grant all privileges on *.* to root@'%' identified by '123456';
  3. mysql> flush privileges;

新增遠端訪問許可權

  1. mysql> use mysql;
  2. mysql> update user set host='%' where user = 'root';
  3. mysql> flush privileges;

重啟mysql生效

  1. service mysql stop
  2. service mysql start

service mysql restart