Linux CentOS 7離線安裝MySQL 5.7

0 前言

網上已經有那麼多的關於CentOS 7如何安裝MySQL的文章了,但是很多都是在線安裝;由於很多時候,在生產環境進行部署時,生產機器都是不可能直接連公網的,導致網上很多的文章沒有借鑑意義;

1 下載

在有網的環境下載 mysql 的安裝包:

http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x 86_64.tar.gz

或者去官網點擊下載:
在這裏插入圖片描述

並把 安裝包mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 拷貝到 離線生產環境/usr/local目錄下。

2 安裝

2.1 創建用戶

爲了方便數據庫管理,對於安裝的MySQL數據庫,生產上我們都會建立一個mysql用戶和mysql用戶組:

# 添加mysql用戶組
groupadd mysql

# 添加mysql用戶
useradd -g mysql mysql -d /home/mysql

# 修改mysql用戶的登陸密碼
passwd mysql

2.2 解壓縮

在/usr/local/中解壓壓縮包,並改名爲mysql

cd /usr/local/

tar -xzvf /data/software/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz (我的下載目錄爲 data/software)

# 改名爲mysql
mv mysql-5.7.13-linux-glibc2.5-x86_64 mysql

並賦予用戶讀寫權限(此處也可以換位你的用戶)

chown -R mysql:mysql mysql/

2.3 創建配置文件

vim /etc/my.cnf

複製以下內容:

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不區分大小寫
lower_case_table_names = 1

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

max_connections=5000

default-time_zone = '+8:00'

2.4 初始化文件

  1. 初始化log文件,防止沒有權限。
#手動編輯一下日誌文件,什麼也不用寫,直接保存退出
cd /var/log/

vim mysqld.log
:wq

chmod 777 mysqld.log
chown mysql:mysql mysqld.log
  1. 初始化pid文件,防止沒有權限。
#手動編輯一下日誌文件,什麼也不用寫,直接保存退出
cd /var/run/
mkdir mysqld
cd mysqld
vi mysqld.pid
:wq
# 給權限
cd ..
chmod 777 mysqld
chown -R mysql:mysql /mysqld
  1. 初始化數據庫
# 初始化數據庫,並指定啓動mysql的用戶,否則就會在啓動MySQL時出現權限不足的問題
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

初始化完成後,在my.cnf中配置的datadir目錄(/var/log/mysqld.log)下生成一個error.log文件,裏面記錄了root用戶的隨機密碼。

cat /var/log/mysqld.log

執行後記錄最後一點:root@localhost: xxxxx 。 這裏的xxxxx就是初始密碼。

2.5 啓動數據庫

啓動數據庫

#源目錄啓動:
/usr/local/mysql/support-files/mysql.server start

並設置開機自啓動服務:

# 複製啓動腳本到資源目錄
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

# 增加mysqld服務控制腳本執行權限
chmod +x /etc/rc.d/init.d/mysqld

# 將mysqld服務加入到系統服務
chkconfig --add mysqld

# 檢查mysqld服務是否已經生效
chkconfig --list mysqld

# 切換至mysql用戶,啓動mysql,或者稍後下一步再啓動。
service mysqld start 

從此就可以使用service mysqld命令啓動/停止服務:

su mysql

service mysqld start/stop/restart

2.6 配置環境變量

爲了更好的操作mysql,配置環境變量。

# 切換至mysql用戶
su mysql

vi .bash_profile
# 修改配置文件,增加export PATH=$PATH:/usr/local/mysql/bin

# 立即生效
source .bash_profile

2.7 登陸,修改密碼

必須修改初始的隨機密碼:

# 系統默認會查找/usr/bin下的命令;建立一個鏈接文件。
ln -s /usr/local/mysql/bin/mysql /usr/bin

# 登陸mysql的root用戶
mysql -uroot -p
# 輸入2.4生成的 隨機密碼

# 修改root用戶密碼爲123456
set password for root@localhost=password("123456");

3 使用mysql

3.1 用戶建立

以下命令只需要改動 用戶名 和密碼:

grant all privileges on *.* to '新用戶名'@'%' identified by '新密碼';

flush privileges;

其中通配符%表示讓該用戶可以從任意遠程主機登陸。

3.2 創建數據庫

登陸用戶後:

# 查詢現有的數據庫:
show databases;

# 創建
CREATE DATABASE 數據庫名;

# 進入數據庫:
use 數據庫名;

# 查看所有的表
show tables;

# 退出:
exit

參考文獻:

  1. 《CentOS 7離線安裝MySQL 5.7》https://www.jellythink.com/archives/14
  2. 《linux 安裝MySql 5.7.20 操作步驟【親測】》https://segmentfault.com/a/1190000012703513
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章