CentOS7安裝MySQL8的超級(jí)詳細(xì)教程(無(wú)坑!)
前言
環(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
:初始化無(wú)密碼
五、啟動(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 登錄
# 無(wú)密碼登錄方式 /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à)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03mysql累加計(jì)算實(shí)現(xiàn)方法詳解
這篇文章主要介紹了mysql累加計(jì)算實(shí)現(xiàn)方法,結(jié)合實(shí)例形勢(shì)分析了mysql累加計(jì)算原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05MySQL數(shù)據(jù)庫(kù)存儲(chǔ)引擎和分支現(xiàn)狀分析
在MySQL經(jīng)歷了2008年Sun的收購(gòu)和2009年Oracle收購(gòu)Sun的過(guò)程中,基本處于停滯發(fā)展的情況,在可以預(yù)見的未來(lái),MySQL是肯定會(huì)被Oracle擱置并且逐步雪藏消滅掉的。2011-03-03Kettle的MySQL數(shù)據(jù)源版本問(wèn)題及解決
這篇文章主要介紹了Kettle的MySQL數(shù)據(jù)源版本問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10show engine innodb status顯示信息不全如何解決
執(zhí)行 show engine innodb status\G 時(shí),顯示的信息不全,DEADLOCK相關(guān)信息太多,后面的都沒(méi)了2012-11-11一文帶你了解如何用MySQL通配符實(shí)現(xiàn)過(guò)濾功能
本文章將介紹什么是通配符、如何使用通配符以及怎樣使用LIKE操作符進(jìn)行通配搜索,以便對(duì)數(shù)據(jù)進(jìn)行復(fù)雜過(guò)濾,感興趣的小伙伴跟著小編一起來(lái)學(xué)習(xí)吧2023-07-07