MySQL 8.0 安裝使用

一、安裝
1.1、先刪除mariadb
$ rpm -qa|grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64
$ rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
$ rpm -qa|grep mariadb    
1.2、centos的yum 源中默認(rèn)是沒有mysql的,所以我們需要先去官網(wǎng)下載mysql的repo源并安裝
$ wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
#本地安裝mysql的yum源
$ yum localinstall mysql80-community-release-el7-1.noarch.rpm
#查看/etc/yum.repos.d/路徑下多了mysql文件
$ ll /etc/yum.repos.d/ |grep mysql
#yum源
$ yum clean all
$  yum makecache
image.png
#查看yum中mysql版本
$ yum repolist all | grep mysql
1.2、安裝
#安裝mysql
$ yum install mysql-community-server
# 會(huì)報(bào)錯(cuò),執(zhí)行如下:
$ rpm --checksig  /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
$ gpg --export -a 3a79bd29 > 3a79bd29.asc
$ rpm --import 3a79bd29.asc 
$ rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
$ rpm --checksig  /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
# 會(huì)報(bào)錯(cuò),執(zhí)行如下
$ yum clean all
$  yum makecache
 $ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
#安裝mysql
$ yum install mysql-community-server
#解決下載慢問題
$ vim /etc/yum.repos.d/CentOS-Base.repo
# 添加阿里云
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-Key-centos7

$ yum clean all
$ yum makecache

#  千萬別啟動(dòng)
二、修改配置
2.1、修改區(qū)分大小寫、鏈接數(shù)配置
#datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# /home/domain/mysql
datadir=/home/domain/mysql/mysql
#socket=/home/domain/mysql/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# 區(qū)分0 不區(qū)分1 
lower_case_table_names=1
# 最大鏈接數(shù)
max_connections=4000
# 最大錯(cuò)誤數(shù)
max_connect_errors=100

innodb_buffer_pool_size=4G
innodb_flush_log_at_trx_commit=1
# 提交1次事務(wù)刷1次,可以為n
sync_binlog=1
# 默認(rèn)200,如果SSD,調(diào)整為5000~20000
#innodb_io_capacity=200
# 默認(rèn)10M。防止高并發(fā)下,數(shù)據(jù)庫(kù)受影響
#innodb_data_file_path=ibdata1:1024M:autoextend
# 默認(rèn)2,單位s。慢查詢時(shí)間。建議0.1~0.5
#long_qurey_time=0.3
# 8.0默認(rèn)row。記錄格式,讓數(shù)據(jù)安全可靠
#binlog_format=row
# 默認(rèn)8小時(shí)。交互等待時(shí)間和非交互等待時(shí)間
# # 建議300~500s,兩參數(shù)值必須一致,且同時(shí)修改
interactive_timeout=500
wait_timeout=500
#日志大小
innodb_log_file_size=256M
##日志緩存大小
innodb_log_buffer_size=12M
#
innodb_flush_log_at_trx_commit=2
# 設(shè)置編碼格式
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#這里確認(rèn)是否起用壓縮存儲(chǔ)功能
innodb_file_per_table=1
2.2、啟動(dòng)服務(wù)改密碼
#啟動(dòng)
systemctl start mysqld.service
#設(shè)置開機(jī)自啟動(dòng)
systemctl enable mysqld.service
#停止
systemctl stop mysqld.service
#重啟
systemctl restart mysqld.service
# 查看密碼
cat /var/log/mysqld.log | grep password
 #使用初始密碼登錄
mysql -uroot -p
mysql> alter user 'root'@'localhost' identified with mysql_native_password BY '12345678';
mysql> flush privileges;
mysql> use mysql;
# 查詢能訪問的host,默認(rèn)只能localhost訪問
mysql> select user,authentication_string,host from user;
# 修改root用戶能夠任何IP訪問,當(dāng)然也能制定具體某個(gè)IP
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges;
2.3、關(guān)閉服務(wù)器防火墻
# 查詢防火墻狀態(tài)
 systemctl status firewalld
# 啟動(dòng)
systemctl start firewalld
# 關(guān)閉
systemctl stop firewalld
# 查看已開啟端口
firewall-cmd --list-port
# 開啟端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重啟
firewall-cmd --reload
## 防火墻
#添加端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重新加載
firewall-cmd --reload
#刪除端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
  #添加服務(wù)
firewall-cmd --zone=public --add-service=http --permanent
#刪除服務(wù)
firewall-cmd --zone=zone_name --remove-service=service_name --permanent
#####三、修改數(shù)據(jù)存儲(chǔ)目錄
3.1、遷移/var/lib/mysql
# 停止mysql
systemctl stop firewalld
#查看狀態(tài)
systemctl status firewalld
# 遷移目錄
cp -a /var/lib/mysql  /home/domain/mysql
# 修改my.cnf ,注意:socket不能更改,更改后無法啟動(dòng)
vi /etc/my.cnf
#datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# /home/domain/mysql
datadir=/home/domain/mysql/mysql
#socket=/home/domain/mysql/mysql/mysql.sock

四、MySQL數(shù)據(jù)文件被刪除,恢復(fù)方法

# 添加到my.cnf,重啟即可
[mysqld]
innodb_force_recovery = 1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容