Linux 安裝Mysql8

CentOS7 下安裝 Mysql8

1、下載Linux版Mysql8壓縮包

>> wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-el7-x86_64.tar

或者從官網下載mysql包
 
node

2、解壓縮Mysql8壓縮文件

1 >> rpm -qa | grep mysql   -- 查看已有Mysql服務 
2 
3 >> rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64  -- 卸載Centos自帶Mysql服務   
4 
5 >> tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz -C /user/local    -- 解壓

說明:解壓後咱們發如今 /user/local/mysql-8.0.12-el7-x86_64/ 目錄下多出兩個壓縮文件,其中一個是名稱中包含TEST,一個不包含TEST,咱們須要不包含TEST的壓縮文件,在此執行解壓命令便可!mysql

3、建立my.cnf配置文件

>> mkdir /usr/local/mysql-8.0.12-el7-x86_64/data  --建立目錄
>> vi /etc/my.cnf  --添加以下內容:
[client]

port=3306

socket=/tmp/mysql-8.0.12-el7-x86_64/mysql.sock

[mysqld]

skip-grant-tables

port=3306

user=mysql

socket=/tmp/mysql-8.0.12-el7-x86_64/mysql.sock

basedir=/usr/local/mysql-8.0.12-el7-x86_64

datadir=/usr/local/mysql-8.0.12-el7-x86_64/data

log-error=error.log

4、建立Mysql用戶及用戶組

>> groupadd mysql

>> useradd -g mysql mysql

5、建立臨時文件MySQL

>> mkdir /tmp/mysql    -- 建立目錄

>> chown -R mysql:mysql  /tmp/mysql    -- 執行受權

6、初始化數據庫

>> cd /user/local/mysql-8.0.12-el7-x86_64  -- 進入MySQL主目錄

>> ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.12-el7-x86_64/ --datadir=/usr/local/mysql-8.0.12-el7-x86_64/data/  -- 執行初始化命令,若是沒有什麼異常提示,即表明初始化成功

初始化成功後控制檯會打印root帳號默認的密碼,記得記錄下來linux

7、啓動MySQL服務

>> cd /usr/local/mysql-8.0.12-el7-x86_64

>> ./support-files/mysql.server start -- 啓動Mysql服務命令
>> ./support-files/mysql.server restart  -- 重啓Mysql服務命令 >> ./support-files/mysql.server stop  -- 關閉MySQL服務命令

8、登陸Mysql服務

>> ./bin/mysql -uroot -p

 此時,咱們會發現登陸不了Mysql服務器,並報以下異常:sql

 [root@localhost software]# ./bin/mysql -uroot -p  Enter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)數據庫

 解決方法:經過命令服務器

>> vi /etc/my.cnf

 在 [mysqld] 節點中增長 skip-grant-tables 命令後從新登陸socket

下面演示正確修改root密碼的步驟

1、若是當前root用戶authentication_string字段下有內容,先將其設置爲空,不然直接進行二步驟。工具

>> use mysql;
>> update user set authentication_string='' where user='root'
 

下面直接演示正確修改root密碼的步驟:加密

2、使用ALTER修改root用戶密碼,方法爲 ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼'。 以下:spa

>> ALTER user 'root'@'localhost' IDENTIFIED BY 'root'

此處有兩點須要注意:

一、不須要flush privileges來刷新權限。

二、密碼要包含大寫字母,小寫字母,數字,特殊符號。

  修改爲功; 從新使用用戶名密碼登陸便可;

注意: 必定不要採起以下形式該密碼:

>> use mysql;
>> update user set authentication_string="新密碼" where user="root";

 

這樣會給user表中root用戶的authentication_string字段下設置了newpassword值;

當再使用 ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'時會報錯的;

由於authentication_string字段下只能是mysql加密後的41位字符串密碼;其餘的會報格式錯誤;

*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

 

***************************************************************************Warning*********************************************************************************************

Mysql8遠程沒法訪問,譬如:在其餘機器經過SqlYog鏈接的問題,多是mysql8的密碼加密方式和可視化工具的加密方式不匹配,

該問題暫時還未解決!!!

相關文章
相關標籤/搜索