Linux(CentOS7)中安裝MySQL8

1.下載MySQL

下載:https://dev.mysql.com/downloads/mysql/
選擇操作系統類型以及操作系統版本:
在這裏插入圖片描述
將mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz上傳到Linux,不懂上傳,請看《WinSCP下載安裝和上傳文件到Linux》

2.安裝

2.1.解壓

tar -xvJf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz -C /usr/local

解壓tar.xz 用 -xvJf,解壓tar.gz 用 -zxvf。

2.2.轉移目錄

爲什麼要轉移目錄,因爲是mysql-8.0.19-linux-glibc2.12-x86_64太長了,看起來不爽。

# 進入/usr/local下
cd /usr/local 
# 在當前目錄,將mysql-8.0.19-linux-glibc2.12-x86_64文件夾下的所有內容複製到mysql文件夾中,自動創建mysql
mv mysql-8.0.19-linux-glibc2.12-x86_64/ mysql 

2.3.添加配置文件

# 創建/etc/my.cnf
touch /etc/my.cnf

編輯vim /etc/my.cnf寫入一下內容:

[client]
port=3306
socket=/tmp/mysql.sock
 
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

2.4.配置環境變量

# 編輯 /etc/profile
vim /etc/profile

寫入一下內容:

export MYSQL_HOME=/usr/local/mysql
export PATH=${MYSQL_HOME}/bin:${MYSQL_HOME}/lib:$PATH

2.5.創建用戶組和用戶

groupadd mysql # 創建用戶組,組名mysql
useradd -g mysql mysql # 第一個是用戶組,第二個是用戶名
chown -R mysql:mysql  /usr/local/mysql/ # 指定文件擁有者

2.6.預先創建自定義目錄

mkdir /usr/local/mysql/data #創建存儲數據的文件夾

2.7.初始化mysql

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

在這裏插入圖片描述
記住紅框裏的是root的臨時密碼。

2.8.啓動mysql服務器

service mysqld start

可以查看是否啓動成功:

service mysqld status

在這裏插入圖片描述
也可以這樣查:

ps -ef|grep -i mysql

2.9.使用mysql客戶端連接mysql

/usr/local/mysql/bin/mysql -u root -p password

password是以上紅框裏的臨時密碼

2.10.修改mysql的默認初始化密碼

修改root的密碼爲root

alter user 'root'@'localhost' identified by 'root';

2.11.修改root用戶可以遠程連接

use mysql
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES; # 刷新

3.連接測試

用 Navicat連接
在這裏插入圖片描述
報錯:
在這裏插入圖片描述
Client does not support authentication protocol requested by server; consider upgrading MySQL client

主要原因是mysql服務器要求的認證插件版本與客戶端不一致造成的。
打開mysql命令行輸入如下命令查看,系統用戶對應的認證插件:

在這裏插入圖片描述
解決方法:

我不希望更新本地的客戶端版本,想直接使用原來的環境來鏈接。

解決方法是將root的plugin改成mysql_native_password。相當於降了一級。

mysql官方網站提供了從mysql_old_password升級到mysql_native_password,我們可以仿照這個。官方原文如下:
在這裏插入圖片描述

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

這行代碼有兩層含義,第一:修改root的密碼爲’root’,摒棄原來的舊密碼。第二:使用mysql_native_password對新密碼進行編碼。
如果執行ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;報錯,請往下看:

 use mysql;
 select user,host from user;

在這裏插入圖片描述
所以將 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;改成ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;

記得刷新

FLUSH PRIVILEGES; # 刷新

在這裏插入圖片描述
於其他操作,請參考https://www.jb51.net/article/160736.htm

此文參考
https://blog.csdn.net/q258523454/article/details/84555847
https://my.oschina.net/u/3295928/blog/1811804
https://www.jb51.net/article/160736.htm

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