環(huán)境介紹
操作系統(tǒng):Centos7.6
MySQL版本: 8.0.27
只要是8.0.*版本,那就可以按照本文說明安裝
一、安裝前準(zhǔn)備
1、卸載MariaDB
安裝MySQL的話會和MariaDB的文件沖突,所以需要先卸載掉MariaDB。
1.1、查看是否安裝mariadb
rpm -qa|grep mariadb
1.2、卸載
rpm -e --nodeps 文件名
1.3、檢查是否卸載干凈
rpm -qa|grep mariadb
2.檢查依賴
2.1、查看是否安裝libaio(MySQL需要依賴libaio庫)
rpm -qa|grep libaio
如果沒有安裝則執(zhí)行
yum -y install libaio //安裝libaio
2.2、查看是否安裝numactl
rpm -qa|grep numactl
如果沒有安裝則執(zhí)行
yum -y install numactl //安裝numactl
二、下載并安裝MySQL
1、下載資源包
阿里云下載地址:https://mirrors.aliyun.com/mysql/MySQL-8.0/?spm=a2c6h.25603864.0.0.5f4c712bmNnZeW
官網(wǎng)下載地址:https://dev.mysql.com/downloads/mysql/
2、解壓
本文安裝包上傳到了 /usr/local/ 目錄下
進(jìn)入安裝包目錄
cd /usr/local/
解壓
tar -zxvf mysql-8.0.27-el7-x86_64.tar.gz
3、重命名
將解壓后的文件夾重命名為mysql
mv mysql-8.0.27-el7-x86_64/ mysql
4、創(chuàng)建存儲數(shù)據(jù)文件
在重命名后的mysql文件夾中創(chuàng)建data文件夾
mkdir mysql/data
5、設(shè)置用戶組并賦權(quán)
先進(jìn)入mysql文件夾
cd /usr/local/mysql
創(chuàng)建用戶組
groupadd mysql
創(chuàng)建用戶
-r:創(chuàng)建系統(tǒng)用戶
-g:指定用戶組
useradd -r -g mysql mysql
更改屬主和數(shù)組
chown -R mysql:mysql ./
更改權(quán)限
chmod -R 755 ./
6、初始化MySQL
進(jìn)入MySQL的bin目錄
cd /usr/local/mysql/bin/
初始化
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
初始化完成后會打印一個隨機(jī)密碼,后面會用到。
7、配置參數(shù)文件
vi /etc/my.cnf
配置文件修改為以下內(nèi)容 也可以根據(jù)自己需要設(shè)置參數(shù)
# client:客戶端配置部分,這里定義了連接到MySQL服務(wù)器的客戶端的一些參數(shù)
[client]
# MySQL服務(wù)器監(jiān)聽的端口,默認(rèn)為3306
port = 3306
# MySQL服務(wù)器的Unix套接字文件路徑
socket = /usr/local/mysql/data/mysql.sock
# 客戶端使用的默認(rèn)字符集,設(shè)置為utf8mb4
default-character-set = utf8mb4
# mysql:MySQL客戶端程序的配置部分
[mysql]
# MySQL客戶端使用的默認(rèn)字符集,同樣設(shè)置為utf8mb4
default-character-set = utf8mb4
# mysqld:MySQL服務(wù)器的配置部分,其中包含了一些重要的服務(wù)器參數(shù)設(shè)置
[mysqld]
# 控制服務(wù)器是否應(yīng)執(zhí)行客戶端字符集的握手。在此設(shè)置為FALSE,表示服務(wù)器不應(yīng)執(zhí)行字符集的握手
character-set-client-handshake = FALSE
# 服務(wù)器默認(rèn)字符集設(shè)置為 utf8mb4
character-set-server = utf8mb4
# 服務(wù)器默認(rèn)排序規(guī)則設(shè)置為 utf8mb4_general_ci
collation-server = utf8mb4_general_ci
# 每次客戶端連接到服務(wù)器時,都會執(zhí)行的初始化SQL語句,此處設(shè)置為設(shè)置字符集為utf8mb4
init_connect = 'SET NAMES utf8mb4'
# MySQL服務(wù)器監(jiān)聽的端口,同樣設(shè)置為3306
port = 3306
# MySQL服務(wù)器的Unix套接字文件路徑
socket = /usr/local/mysql/data/mysql.sock
# 禁用外部鎖定功能
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir = /usr/local/mysql/data
#lower_case_table_names=1
#如果要設(shè)置lower_case_table_names可以在初始化里面設(shè)置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1
# mysqldump工具的配置部分
[mysqldump]
# 啟用快速模式,用于導(dǎo)出數(shù)據(jù)
quick
# 用于mysqldump導(dǎo)出數(shù)據(jù)時允許的最大數(shù)據(jù)包大小
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
配置后修改 /etc/my.cnf 的權(quán)限為777
chmod 777 /etc/my.cnf
8.啟動MySQL
/usr/local/mysql/support-files/mysql.server start
9.設(shè)置軟連接,并重啟MySQL
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
service mysql restart
10、登錄并更改密碼
[root@localhost bin]# mysql -uroot -p
Enter password: 輸入初始化隨機(jī)密碼
兩種改密方式二選一
alter user 'root'@'localhost' identified by '123456';
set password for root@localhost = '123456';
11.開放遠(yuǎn)程連接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges; //刷新權(quán)限
12、連接工具測試連接MySQL
如果服務(wù)器本地可以連接,但是連接工具遠(yuǎn)程連接不進(jìn)去,則需要檢查一下防火墻是否放行3306端口,也可以暫時先關(guān)閉防火墻后重試。
13、關(guān)閉防火墻
systemctl stop firewalld
防火墻相關(guān)設(shè)置
# 查看當(dāng)前防火墻狀態(tài)
sudo systemctl status firewalld
# 如果防火墻當(dāng)前是關(guān)閉狀態(tài)(inactive),則開啟防火墻
sudo systemctl start firewalld
# 若要讓防火墻在系統(tǒng)重啟后仍然保持開啟狀態(tài)(永久開啟)
sudo systemctl enable firewalld
# 開放 81 端口并設(shè)置為永久生效
sudo firewall-cmd --permanent --add-port=3306/tcp
# 重新加載防火墻規(guī)則使之生效
sudo firewall-cmd --reload
# 查看開放了哪些端口
firewall-cmd --list-ports
14、MySQL啟動和停止
CentOS6和CentOS7命令都可以使用。
啟動
service mysql start
systemctl start mysql
停止
service mysql stop
systemctl stop mysql
重啟
service mysql restart
systemctl restart mysql
查看狀態(tài)
service mysql status
systemctl status mysql
三、設(shè)置開機(jī)自啟動(可選)
將服務(wù)文件拷貝到 /etc/init.d下,并重命名為mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
賦予可執(zhí)行權(quán)限
chmod +x /etc/init.d/mysqld
添加服務(wù)
chkconfig --add mysqld
顯示服務(wù)列表
chkconfig --list
注:如果看到mysqld的服務(wù),并且3,4,5都是on的話則成功,如果是off,則執(zhí)行
chkconfig --level 345 mysqld on
重啟系統(tǒng)文章來源:http://www.zghlxwxcb.cn/news/detail-849092.html
reboot
重啟后查看mysql是否開機(jī)自啟動文章來源地址http://www.zghlxwxcb.cn/news/detail-849092.html
ps -ef|grep mysql
到了這里,關(guān)于CentOS7安裝MySQL8.0教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!