linux 安裝mysql8.0

下載tar包:html

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gzmysql

應該會自動下載到 /usr/local/src 下,將文件移動到 /usr/local/mysql下解壓
mv /usr/local/src/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gzlinux

進入mysql目錄:cd /usr/local/mysql;sql

解壓;tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz  獲得mysql-8.0.11-linux-glibc2.12-x86_64數據庫

重命名; mv mysql-8.0.11-linux-glibc2.12-x86_64 mysql8.0;socket

# 建立文件夾data,存儲文件;
cd /usr/local/mysql-8.0/
mkdir ./dataui

 

2.2 建立用戶及用戶組加密

# 用戶組
groupadd mysql
# 用戶 (用戶名/密碼)
useradd -g mysql mysql
2.3 受權url

chown -R mysql.mysql /usr/local/mysql8.0/ # 親測

chown -R mysql .
chgrp -R mysql .

spa

 

2.4 初始化數據庫:

# 查看當前所在目錄
pwd # 若顯示/usr/local/mysql/mysql8.0,請繼續執行,不然請先進入此目錄/usr/local/mysql/mysql8.0
# 初始化 注意查看是否存在相關目錄,若不存在,請新建
./bin/mysqld --user=mysql --basedir=/usr/local//mysqlmysql8.0/ --datadir=/usr/local/mysql/mysql8.0/data/ --initialize ; # 親測

./bin/mysql --user=mysql --basedir=/usr/local/mysql/mysql8.0/ --datadir=/usr/local/mysql/mysql8.0


獲得臨時密碼

2.5 Mysql配置(按照本身的文件路徑配置,關於其餘配置,可自行搜索,如有【mysql-safe】的配置,能夠先註釋掉)

vi /etc/my.cnf

 

 

2.6 創建MySQL服務(注意當前路徑應該在mysql8.0,即support-files的根目錄)

# 添加Mysql到系統服務
cp -a ./support-files/mysql.server /etc/init.d/mysql # 若mysqld,如下mysql相應的修改mysqld,以下圖所示


chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 檢查服務是否生效
chkconfig --list mysql

 

 

三、啓動Mysql服務

  1.  
    # 啓動
  2.  
    service mysql start;
  3.  
    # 查看啓動狀態
  4.  
    service mysql status;
     
    ln -s /usr/local/mysql/mysql8.0/bin/mysql /usr/bin

 

登錄Mysql:(登陸後只能先修改密碼)

  1.  
    # 登錄
  2.  
    mysql -uroot -p
  3.  
    # 輸入"初始化數據庫"操做時的"臨時密碼"

修改密碼:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';

# MySQL 配置文件,

# 數據庫目錄 /data/mysql
[client]
port=3306
# mysql socket 文件存放地址
socket=/tmp/mysql.sock
# 默認字符集
default-character-set=utf8

[mysqld]
server-id=1
# 端口
port=3306
# 運行用戶
user=mysql
# 最大鏈接
max_connections=200
socket=/tmp/mysql.sock
# mysql 安裝目錄(解壓後文件的目錄)
basedir=/usr/local/mysql
# 數據目錄(這裏放在咱們新建的 /data/mysql 下)
datadir=/data/mysql
pid-file=/data/mysql/mysql.pid
init-connect='SET NAMES utf8'
character-set-server=utf8
# 數據庫引擎
default-storage-engine=INNODB
log_error=/data/mysql/mysql-error.log
slow_query_log_file=/data/mysql/mysql-slow.log

# 跳過驗證密碼
#skip-grant-tables

[mysqldump]
quick
max_allowed_packet=16M
EOF

 

可能會有好幾個地方有 mysql 的配置文件,它的讀取順序是這樣的

/etc/my.cnf
basedir/my.cnf
datadir/my.cnf
–defaults-extra-file #在讀取全局配置文件以後,讀取用戶配置文件 (~/.my.cnf)以前,讀取extra指定的參數文件
~/.my.cnf
因此咱們在 /etc 下的配置文件 my.cnf 是第一個讀取的文件,讀到這個文件後就不會在讀後面路勁中的配置文件。

 

四、遠程鏈接

1.在 my.cnf 的mysqld 下增長

default_authentication_plugin=mysql_native_password
遠程鏈接操做不該該修改mysql中user表中用戶爲root的記錄,而是建立一條root記錄
  1. update user set host ='%' where user='root';
  2.  
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
  3.  
    FLUSH PRIVILEGES;
    若爲以上操做,則可能致使本機沒法登陸(即便密碼準確)
 

4.受權 root 用戶的全部權限並設置遠程訪問

 
 
CREATE USER  'root'@'%' IDENTIFIED BY '111111';
 
ALTER USER  'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111';(修改加密規則並更新密碼)

設置爲遠程登陸

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;(操做報語法錯誤)

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION ;(這個命令ok)

GRANT ALL ON 表示全部權限,% 表示通配全部 host,能夠訪問遠程。

5.刷新權限

全部操做後,應執行

flush privileges;

關鍵的三個命令:
> mysql>CREATE USER 'root'@'%' IDENTIFIED BY 'root'; //這個操做是mysql 8.0中得加的
> mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何遠程主機均可以訪問數據庫 
> mysql> FLUSH PRIVILEGES; //須要輸入次命令使修改生效 

2.進入mysql安裝目錄bin/ 使用safe模式(跳過密碼登陸),進行重啓:

./mysqld_safe --skip-grant-tables


8.修改加密規則

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 
8.0版本
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
 

password 爲你當前密碼。

9.更新 root 用戶密碼

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; 

password 爲你新設置的密碼。

10.刷新權限

FLUSH PRIVILEGES; 
 

參考博客;https://blog.csdn.net/oschina_41140683/article/details/89844081

                https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/updategrole.html

相關文章
相關標籤/搜索