前言
服務器環境: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