CentOS7安裝MySQL8的超級詳細教程(無坑!)
前言
環(huán)境介紹 :
服務器: 阿里云輕量應用服務器
系統(tǒng)版本: CentOS 7
MySQL版本: 8.0
一、卸載MariaDB
在CentOS中默認安裝有MariaDB,是MySQL的一個分支,主要由開源社區(qū)維護。
CentOS 7及以上版本已經(jīng)不再使用MySQL數(shù)據(jù)庫,而是使用MariaDB數(shù)據(jù)庫。
如果直接安裝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 官網(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命令臨時生效、修改配置文件用久生效;
#臨時環(huán)境變量,關(guān)閉shell后失效,通常用于測試環(huán)境 export PATH=$PATH:/data/software/mysql8/bin
三、用戶和用戶組
3.1 創(chuàng)建用戶組和用戶
# 創(chuàng)建一個用戶組:mysql groupadd mysql # 創(chuàng)建一個系統(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ù)庫
[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 # 數(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 #日志及進程數(shù)據(jù)的存放目錄 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
參數(shù)(重要)
defaults-file
:指定配置文件(要放在–initialize 前面)user
: 指定用戶basedir
:指定安裝目錄datadir
:指定初始化數(shù)據(jù)目錄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'; # 刷新權(quán)限 FLUSH PRIVILEGES;
5.4 設(shè)置允許遠程登錄
登錄到mysql里執(zhí)行
mysql> use mysql mysql> update user set user.Host='%'where user.User='root'; mysql> flush privileges; mysql> quit
5.5 在Navicat上測試連接
總結(jié)
到此這篇關(guān)于CentOS7安裝MySQL8的文章就介紹到這了,更多相關(guān)CentOS7安裝MySQL8內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL數(shù)據(jù)庫存儲引擎和分支現(xiàn)狀分析
在MySQL經(jīng)歷了2008年Sun的收購和2009年Oracle收購Sun的過程中,基本處于停滯發(fā)展的情況,在可以預見的未來,MySQL是肯定會被Oracle擱置并且逐步雪藏消滅掉的。2011-03-03Kettle的MySQL數(shù)據(jù)源版本問題及解決
這篇文章主要介紹了Kettle的MySQL數(shù)據(jù)源版本問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10show engine innodb status顯示信息不全如何解決
執(zhí)行 show engine innodb status\G 時,顯示的信息不全,DEADLOCK相關(guān)信息太多,后面的都沒了2012-11-11