centos環境下安裝mysql-8.0.12

安裝包請自行在官網下載html

https://dev.mysql.com/downloads/mysql/mysql

 

 

一:安裝相關依賴包c++

yum  -y  install  gcc  gcc-c++  ncurses-devel  perlsql

 

二:環境配置數據庫

添加系統mysql組和mysql用戶:vim

groupadd mysql服務器

useradd -r -g mysql -s /bin/false mysqlsocket

 

將mysql命令加進環境變量spa

打開profile插件

vim /etc/profile

PATH=/tools/mysql-8.0.12-el7-x86_64/bin:$PATH
export PATH

讀取profile配置

source /etc/profile

 

三:安裝mysql

解壓安裝包

mysql目錄結構

  

 

目錄 目錄的內容
bin mysqld服務器,客戶端和實用程序
docs 信息格式的MySQL手冊
man Unix手冊頁
include 包含(標題)文件
lib 圖書館
share 用於數據庫安裝的錯誤消息,字典和SQL
support-files 其餘支持文件

 

修改當前目錄擁有者爲mysql用戶:

chown -R mysql:mysql ./

 

配置mysql配置文件

vim  /etc/my.cnf

[client]
port=3306 # 設置mysql客戶端鏈接服務端時默認使用的端口

default-character-set=utf8
socket=/tools/mysql-8.0.12-el7-x86_64/data/mysql.sock

 

[mysqld]

basedir=/tools/mysql-8.0.12-el7-x86_64 # 設置mysql的安裝目錄
datadir=/tools/mysql-8.0.12-el7-x86_64/data

socket=/tools/mysql-8.0.12-el7-x86_64/data/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
# symbolic-links=0
#
# # Settings user and group are ignored when systemd is used.
# # If you need to run mysqld under a different user or group,
# # customize your systemd unit file for mariadb according to the
# # instructions in http://fedoraproject.org/wiki/Systemd
#
# [mysqld_safe]
# log-error=/data/log/mysql-log/error.log
# pid-file=/data/soft/mysql-8.0.12-el7-x86_64/data/mysql.pid
#
# #
# # include all files from the config directory
# #
# !includedir /etc/my.cnf.d

 

初始化數據目錄,包括mysql包含初始MySQL受權表的 數據庫,該表肯定如何容許用戶鏈接到服務器     

bin/mysqld

--initialize-insecure  --user=mysql    (不設置密碼)

 

複製啓動腳本

cp support-files/mysql.server /etc/init.d/mysql

啓動數據庫

 /etc/init.d/mysql  start

 

修改root密碼

進入mysql

mysql  -u  root   -p

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'passowrd' ;

ALTER USER 'root'@'%' IDENTIFIED BY 'passowrd' ;

flush privileges;

 

MySQL8.0的用戶受權和以前有所區別,老版本的經常使用受權語句在8.0中會報錯:

MySQL8.0以前版本:

GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` IDENTIFIED BY 'passowrd' WITH GRANT OPTION;

MySQL8.0版本:

CREATE USER `wangwei`@`127.0.0.1` IDENTIFIED BY 'passowrd';

GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` WITH 「GRANT OPTION」;

 

mysql-8.0之後的版本,用戶密碼認證的默認方式修改爲caching_sha2_password。

①:此更改僅適用於安裝或升級到MySQL 8.0或更高版本後建立的新賬戶。對於已升級安裝中已存在的賬戶,其身份驗證插件保持不變,仍是mysql_native_password。固然也可使用命令將用戶的身份驗證改成:caching_sha2_password;

如:ALTER USER user  IDENTIFIED WITH caching_sha2_password  BY 'password';

②:新安裝MySQL8.0的數據庫默認是使用caching_sha2_password身份驗證的,必須使用5.8版本安裝包內的客戶端軟件登陸數據庫,若是要更改root用戶的身份認證方式,可使用命令:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password  BY 'password';

 

caching_sha2_password兼容性問題和解決方案

若是您的MySQL安裝必須服務於8.0以前的客戶端,而且在升級到MySQL 8.0或更高版本後遇到兼容性問題,解決這些問題並恢復8.0以前的兼容性的最簡單方法是從新配置服務器以恢復到之前的默認身份驗證插件(mysql_native_password)。例如,在配置文件my.cnf中使用如下行:

[mysqld]

default_authentication_plugin=mysql_native_password

相關文章
相關標籤/搜索