一、安裝
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 源中默認是沒有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
#查看yum中mysql版本
$ yum repolist all | grep mysql
1.2咨察、安裝
#安裝mysql
$ yum install mysql-community-server
# 會報錯论熙,執(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
# 會報錯,執(zhí)行如下
#安裝mysql
$ yum install mysql-community-server
# 千萬別啟動
二摄狱、修改配置
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
# 最大錯誤數(shù)
max_connect_errors=100
innodb_buffer_pool_size=4G
innodb_flush_log_at_trx_commit=1
# 提交1次事務刷1次媒役,可以為n
sync_binlog=1
# 默認200祝谚,如果SSD,調整為5000~20000
#innodb_io_capacity=200
# 默認10M酣衷。防止高并發(fā)下交惯,數(shù)據(jù)庫受影響
#innodb_data_file_path=ibdata1:1024M:autoextend
# 默認2,單位s穿仪。慢查詢時間席爽。建議0.1~0.5
#long_qurey_time=0.3
# 8.0默認row。記錄格式啊片,讓數(shù)據(jù)安全可靠
#binlog_format=row
# 默認8小時只锻。交互等待時間和非交互等待時間
# # 建議300~500s,兩參數(shù)值必須一致,且同時修改
interactive_timeout=500
wait_timeout=500
#日志大小
innodb_log_file_size=256M
##日志緩存大小
innodb_log_buffer_size=12M
#
innodb_flush_log_at_trx_commit=2
# 設置編碼格式
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#這里確認是否起用壓縮存儲功能
innodb_file_per_table=1
2.2紫谷、啟動服務改密碼
#啟動
systemctl start mysqld.service
#設置開機自啟動
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齐饮,默認只能localhost訪問
mysql> select user,authentication_string,host from user;
# 修改root用戶能夠任何IP訪問,當然也能制定具體某個IP
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges;
2.3笤昨、關閉服務器防火墻
# 查詢防火墻狀態(tài)
systemctl status firewalld
# 啟動
systemctl start firewalld
# 關閉
systemctl stop firewalld
# 查看已開啟端口
firewall-cmd --list-port
# 開啟端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重啟
firewall-cmd --reload
三祖驱、修改數(shù)據(jù)存儲目錄
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不能更改羹膳,更改后無法啟動
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ù)文件被刪除根竿,恢復方法
# 添加到my.cnf陵像,重啟即可
[mysqld]
innodb_force_recovery = 1
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者