CentOS7安裝MySQL8的超級(jí)詳細(xì)教程(無坑!)
前言
環(huán)境介紹 :
服務(wù)器: 阿里云輕量應(yīng)用服務(wù)器
系統(tǒng)版本: CentOS 7
MySQL版本: 8.0
一、卸載MariaDB
在CentOS中默認(rèn)安裝有MariaDB,是MySQL的一個(gè)分支,主要由開源社區(qū)維護(hù)。
CentOS 7及以上版本已經(jīng)不再使用MySQL數(shù)據(jù)庫(kù),而是使用MariaDB數(shù)據(jù)庫(kù)。
如果直接安裝MySQL,會(huì)和MariaDB的文件沖突。
因此,需要先卸載自帶的MariaDB,再安裝MySQL。
1.1 查看版本:
rpm -qa|grep mariadb
1.2 卸載
rpm -e --nodeps 文件名
1.3 檢查是否卸載干凈:
rpm -qa|grep mariadb

二、安裝MySQL
2.1 下載資源包
2.1.1 官網(wǎng)下載
MySQL官網(wǎng)下載地址 :
https://dev.mysql.com/downloads/mysql/

2.1.2 wget下載
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
2.2 解壓
.tar.gz后綴:tar -zxvf 文件名 .tar.xz后綴:tar -Jxvf 文件名
2.3 重命名
將解壓后的文件夾重命名(或者為文件夾創(chuàng)建軟鏈接)
# 重命名 mv 原文件夾名 mysql8 # 軟鏈接 ln -s 文件夾名 mysql8
2.4 添加PATH變量
添加PATH變量后,可在全局使用MySQL。
有兩種添加方式:export命令臨時(shí)生效、修改配置文件用久生效;
#臨時(shí)環(huán)境變量,關(guān)閉shell后失效,通常用于測(cè)試環(huán)境 export PATH=$PATH:/data/software/mysql8/bin
三、用戶和用戶組
3.1 創(chuàng)建用戶組和用戶
# 創(chuàng)建一個(gè)用戶組:mysql groupadd mysql # 創(chuàng)建一個(gè)系統(tǒng)用戶:mysql,指定用戶組為mysql useradd -r -g mysql mysql
創(chuàng)建用戶組:groupadd
創(chuàng)建用戶:useradd
-r:創(chuàng)建系統(tǒng)用戶-g:指定用戶組
3.2 數(shù)據(jù)目錄
1、創(chuàng)建目錄
mkdir -p /data/software/mysql8/datas
2、賦予權(quán)限
# 更改屬主和數(shù)組 chown -R mysql:mysql /data/software/mysql8/datas # 更改模式 chmod -R 750 /data/software/mysql8/datas
四、初始化MySQL
4.1 配置參數(shù)
在/data/software/mysql8/下,創(chuàng)建my.cnf配置文件,用于初始化MySQL數(shù)據(jù)庫(kù)
[mysql]
# 默認(rèn)字符集
default-character-set=utf8mb4
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock
# 安裝目錄
basedir = /data/software/mysql8
# 數(shù)據(jù)存放目錄
datadir = /data/software/mysql8/datas/mysql
log-bin = /data/software/mysql8/datas/mysql/mysql-bin
innodb_data_home_dir =/data/software/mysql8/datas/mysql
innodb_log_group_home_dir =/data/software/mysql8/datas/mysql
#日志及進(jìn)程數(shù)據(jù)的存放目錄
log-error =/data/software/mysql8/datas/mysql/mysql.log
pid-file =/data/software/mysql8/datas/mysql/mysql.pid
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
4.2 初始化
mysqld --defaults-file=/data/software/mysql8/my.cnf --basedir=/data/software/mysql8/ --datadir=/data/software/mysql8/datas/mysql --user=mysql --initialize-insecure
參數(shù)(重要)
defaults-file:指定配置文件(要放在–initialize 前面)user: 指定用戶basedir:指定安裝目錄datadir:指定初始化數(shù)據(jù)目錄intialize-insecure:初始化無密碼
五、啟動(dòng)MySQL
查看 MySQL的 bin路徑下,是否包含mysqld_safe,用于后臺(tái)安全啟動(dòng)MySQL。

5.1 啟動(dòng)服務(wù)
# 完整命令 /data/software/mysql8/bin/mysqld_safe --defaults-file=/data/software/mysql8/my.cnf & # 添加PATH變量后的命令(省略bin目錄的路徑) mysqld_safe --defaults-file=/data/software/mysql/my.cnf &
查看是否啟動(dòng)
ps -ef|grep mysql

5.2 登錄
# 無密碼登錄方式 /data/software/mysql8/bin/mysql -u root --skip-password # 有密碼登錄方式(初始的隨機(jī)密碼在/data/mysql8_data/mysql/mysql.log下) mysql -u root -p password:隨機(jī)密碼

5.3 修改密碼
# 修改密碼 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; # 刷新權(quán)限 FLUSH PRIVILEGES;

5.4 設(shè)置允許遠(yuǎn)程登錄
登錄到mysql里執(zhí)行
mysql> use mysql mysql> update user set user.Host='%'where user.User='root'; mysql> flush privileges; mysql> quit
5.5 在Navicat上測(cè)試連接

總結(jié)
到此這篇關(guān)于CentOS7安裝MySQL8的文章就介紹到這了,更多相關(guān)CentOS7安裝MySQL8內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
數(shù)據(jù)庫(kù)SQL SELECT查詢的工作原理
今天小編就為大家分享一篇關(guān)于數(shù)據(jù)庫(kù)SQL SELECT查詢的工作原理,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
mysql累加計(jì)算實(shí)現(xiàn)方法詳解
這篇文章主要介紹了mysql累加計(jì)算實(shí)現(xiàn)方法,結(jié)合實(shí)例形勢(shì)分析了mysql累加計(jì)算原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
MySQL數(shù)據(jù)庫(kù)存儲(chǔ)引擎和分支現(xiàn)狀分析
在MySQL經(jīng)歷了2008年Sun的收購(gòu)和2009年Oracle收購(gòu)Sun的過程中,基本處于停滯發(fā)展的情況,在可以預(yù)見的未來,MySQL是肯定會(huì)被Oracle擱置并且逐步雪藏消滅掉的。2011-03-03
Kettle的MySQL數(shù)據(jù)源版本問題及解決
這篇文章主要介紹了Kettle的MySQL數(shù)據(jù)源版本問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
show engine innodb status顯示信息不全如何解決
執(zhí)行 show engine innodb status\G 時(shí),顯示的信息不全,DEADLOCK相關(guān)信息太多,后面的都沒了2012-11-11
一文帶你了解如何用MySQL通配符實(shí)現(xiàn)過濾功能
本文章將介紹什么是通配符、如何使用通配符以及怎樣使用LIKE操作符進(jìn)行通配搜索,以便對(duì)數(shù)據(jù)進(jìn)行復(fù)雜過濾,感興趣的小伙伴跟著小編一起來學(xué)習(xí)吧2023-07-07

