linux 安裝mysql8.0


下載tar包:

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

應該會自動下載到 /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.gz

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

解壓;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;

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

 

2.2 創建用戶及用戶組

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

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

chown -R mysql .
chgrp -R mysql .

 

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

 

 

3、啟動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 是第一個讀取的文件,讀到這個文件后就不會在讀后面路勁中的配置文件。

 

4、遠程連接

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM