linux mysql 5.7 離線安裝(tar.gz)

前言

服務器環境:centos7.3 x64
mysql版本:5.7.28
***需要卸載的話看這個:https://editor.csdn.net/md/?articleId=103665983

GO

1. 官網下載壓縮包

鏈接: https://dev.mysql.com/downloads/mysql/
選擇linux通用64位,5.7.28
在這裏插入圖片描述

2. 查詢並卸載系統自帶的Mariadb

rpm -qa | grep mariadb
rpm -e --nodeps 文件名

在這裏插入圖片描述

3. 將壓縮包放入服務器安裝目錄下(/usr/local),解壓,重命名爲mysql

#解壓命令
tar -xzvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 
#重命名
mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql

4. 檢測mysql用戶和mysql用戶組是否存在,不存在則創建

#檢測是否存在,如無則創建
    cat /etc/group | grep mysql
    cat /etc/passwd | grep mysql

*若存在請忽略創建

 #創建mysql用戶組
     groupadd mysql
 #創建一個用戶名爲mysql的用戶,並加入mysql用戶組
     useradd -g mysql mysql
 #修改mysql用戶的登陸密碼(不少於8位)
     passwd mysql

在這裏插入圖片描述

5. 修改mysql文件夾下所有文件的用戶和用戶組

chown -R mysql:mysql mysql/

6. 創建mysql配置文件 my.cnf(位置/etc下面)

cd /etc
vi my.cnf
#將下面的my.cnf的內容複製進來,並保存

my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

# 設置mysql客戶端默認字符集  


socket=/var/lib/mysql/mysql.sock

[mysqld]  

#skip-name-resolve  

#設置3306端口  

port = 3306   

socket=/var/lib/mysql/mysql.sock  

# 設置mysql的安裝目錄  

basedir=/usr/local/mysql  

# 設置mysql數據庫的數據的存放目錄  

datadir=/usr/local/mysql/data

log-error = /usr/local/mysql/data/error.log

pid-file = /usr/local/mysql/data/mysql.pid

tmpdir = /tmp/mysql  

# 允許最大連接數  

max_connections=200  

# 服務端使用的字符集默認爲8比特編碼的latin1字符集  

character-set-server=utf8  

# 創建新表時將使用的默認存儲引擎  

default-storage-engine=INNODB  

#lower_case_table_name=1  

max_allowed_packet=16M 

user=mysql

7. 創建my.cnf中配置的相關目錄

#創建目錄
mkdir /var/lib/mysql
#賦權限
chmod 777 /var/lib/mysql

8. 初始化mysql數據庫

/usr/local/mysql/bin/mysqld --initialize --user=mysql

報錯如下:
在這裏插入圖片描述
解決方式:yum -y install numactl

9. 配置mysql服務開機自啓動

#複製啓動腳本到資源目錄
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
#啓動成功如下圖:

在這裏插入圖片描述

10. 配置環境變量

vim /etc/profile
#最下面增加如下
export PATH=$PATH:/usr/local/mysql/bin
#刷新環境變量使之生效
source /etc/profile

11. 修改mysql密碼(廢了老勁了)

#獲取root用戶密碼,若沒有該文件,往下看有解決方式
cat /root/.mysql_secret
#登陸mysql
mysql -uroot -p  
#輸入剛纔的密碼,回車報錯如下:

在這裏插入圖片描述
解決方式: ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

  • 重啓mysql服務,再次輸入密碼,又報錯了。
    在這裏插入圖片描述
    默認的密碼不好使或者沒有默認密碼,如下解決:
#停止mysql服務
service mysqld stop
#以不啓用grant-tables模式啓動mysql
mysqld_safe --skip-grant-tables &
mysql -uroot -p  直接回車進去
use mysql;
#更新密碼如下,5.7版本下的mysql數據庫下已經沒有password這個字段了,password字段改成了authentication_string
update user set authentication_string=password('111111') where user='root';
#刷新權限
flush privileges;

12. 給mysql賦遠程連接權限

#登陸mysql
mysql -uroot -p
#選擇mysql
use mysql
#若報錯如下,需要重置密碼。
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
#重置密碼
SET PASSWORD = PASSWORD('111111');
#設置密碼永不過期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
#賦遠程訪問權限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111';
#刷新
FLUSH PRIVILEGES;

13.navicat遠程連接驗證

ps:若安裝過程中遇到問題,可以加qq羣探討700637673

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