CentOS7安裝MySQL8的超級詳細教程(無坑!)
前言
環(huán)境介紹 :
服務器: 阿里云輕量應用服務器
系統版本: CentOS 7
MySQL版本: 8.0
一、卸載MariaDB
在CentOS中默認安裝有MariaDB,是MySQL的一個分支,主要由開源社區(qū)維護。
CentOS 7及以上版本已經不再使用MySQL數據庫,而是使用MariaDB數據庫。
如果直接安裝MySQL,會和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 官網下載
MySQL官網下載地址 :
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命令臨時生效、修改配置文件用久生效;
#臨時環(huán)境變量,關閉shell后失效,通常用于測試環(huán)境 export PATH=$PATH:/data/software/mysql8/bin
三、用戶和用戶組
3.1 創(chuàng)建用戶組和用戶
# 創(chuàng)建一個用戶組:mysql groupadd mysql # 創(chuàng)建一個系統用戶:mysql,指定用戶組為mysql useradd -r -g mysql mysql
創(chuàng)建用戶組:groupadd
創(chuàng)建用戶:useradd
-r:創(chuàng)建系統用戶-g:指定用戶組
3.2 數據目錄
1、創(chuàng)建目錄
mkdir -p /data/software/mysql8/datas
2、賦予權限
# 更改屬主和數組 chown -R mysql:mysql /data/software/mysql8/datas # 更改模式 chmod -R 750 /data/software/mysql8/datas
四、初始化MySQL
4.1 配置參數
在/data/software/mysql8/下,創(chuàng)建my.cnf配置文件,用于初始化MySQL數據庫
[mysql]
# 默認字符集
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
# 數據存放目錄
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
#日志及進程數據的存放目錄
log-error =/data/software/mysql8/datas/mysql/mysql.log
pid-file =/data/software/mysql8/datas/mysql/mysql.pid
# 服務端使用的字符集默認為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)建新表時將使用的默認存儲引擎
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
參數(重要)
defaults-file:指定配置文件(要放在–initialize 前面)user: 指定用戶basedir:指定安裝目錄datadir:指定初始化數據目錄intialize-insecure:初始化無密碼
五、啟動MySQL
查看 MySQL的 bin路徑下,是否包含mysqld_safe,用于后臺安全啟動MySQL。

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

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

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

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

總結
到此這篇關于CentOS7安裝MySQL8的文章就介紹到這了,更多相關CentOS7安裝MySQL8內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
show engine innodb status顯示信息不全如何解決
執(zhí)行 show engine innodb status\G 時,顯示的信息不全,DEADLOCK相關信息太多,后面的都沒了2012-11-11

