CentOS7环境下安装MySQL8详细图文教程(亲测避坑)

CentOS7环境下安装MySQL8详细图文教程

一、安装准备

安装环境:CentOS7
压缩包:mysql-8.0.20-el7-x86_64.tar.gz
官网下载地址:https://dev.mysql.com/downloads/mysql/
我的网盘链接地址:https://pan.baidu.com/s/1CNGeiis7drpufg-1Tno3GQ 提取码:java

1、通过xftp等传输工具将下载好的tar包上传到Linux服务器的/usr/local/目录下
CentOS7环境下安装MySQL8详细图文教程(亲测避坑)_第1张图片

二、环境检查

1、由于在CentOS7中MySQL要收费,所以官方决定在CentOS7中默认安装mariadb,现在需先卸载mariadb

(1)查看 mariadb 的安装包

[root@localhost ~]# rpm -qa | grep mariadb

在这里插入图片描述

(2)如果有则卸载 mariadb

[root@localhost ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

2、检查是否安装过mysql

[root@localhost ~]# rpm -qa | grep mysql

如有则通过以下命令卸载

[root@localhost ~]# rpm -e --nodeps xxx(mysql_libs)

如果之前用yum安装过mysql,则通过以下命令卸载

[root@localhost ~]# yum remove mysql

三、开始安装

1、解压 mysql-8.0.20-el7-x86_64.tar.gz包

(1)进入tar包所在目录

[root@localhost ~]# cd /usr/local/

在这里插入图片描述

(2)开始解压

[root@localhost local]# tar -zxvf mysql-8.0.20-el7-x86_64.tar.gz

(3)修改目录名称为mysql

[root@localhost local]# mv mysql-8.0.20-el7-x86_64 mysql

(4)进入mysql目录

[root@localhost local]# cd mysql

2、配置MySQL

(1)添加用户组

[root@localhost mysql]# groupadd mysql

(2)创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)

[root@localhost mysql]# useradd -r -g mysql -s /bin/false mysql

(3)创建MySQL配置文件存放目录

[root@localhost mysql]# mkdir data 
[root@localhost mysql]# mkdir log
[root@localhost mysql]# mkdir conf

CentOS7环境下安装MySQL8详细图文教程(亲测避坑)_第2张图片

(4)进入conf目录

[root@localhost mysql]# cd conf

(5)在conf目录中创建MySQL配置文件

[root@localhost mysql]# vi my.cnf

并输入如下内容(可直接复制粘贴)

[client]
port=3306
socket=/usr/local/mysql/log/mysql.sock
[mysqld]
server-id=47
# 设置连接端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/log/mysql.pid
socket=/usr/local/mysql/log/mysql.sock
log_error=/usr/local/mysql/log/error.log
# 允许最大连接数
max_connections=200
# 允许连接失败的次数
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
# mysql_native_password
default_authentication_plugin=mysql_native_password

最后保存并退出 :wq
并将my.cnf文件复制一份到/etc/目录

[root@localhost conf]# cp my.cnf /etc/

3、初始化MySQL

(1)给mysql目录赋予权限

[root@localhost mysql]# chmod -R 777 /usr/local/mysql

(2)初始化

[root@localhost conf]# cd ..
[root@localhost mysql]# ./bin/mysqld --defaults-file=/usr/local/mysql/conf/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@localhost mysql]# ./bin/mysql_ssl_rsa_setup

(3)将mysql添加到系统进程中

[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

(4)配置MySQL环境变量

[root@localhost mysql]# vim /etc/profile

在文件末尾加上export PATH=$PATH:/usr/local/mysql/bin/
最后保存并退出 :wq

CentOS7环境下安装MySQL8详细图文教程(亲测避坑)_第3张图片

重新加载环境变量配置

[root@localhost mysql]# source /etc/profile

(5)寻找临时密码并复制
ps:找到“A temporary password is generated for…”,最后的字符串比如 “Kll=PBDhs6fc” 就是临时密码,每个MySQL的临时密码都不一样。

[root@localhost mysql]# cd log
[root@localhost log]# more error.log

(6)以临时密码第一次登录MySQL

[root@localhost log]# cd..
[root@localhost mysql]# mysql -u root -p

可能会提示错误 “Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)”
在这里插入图片描述
输入以下命令

[root@localhost mysql]# ln -s /usr/local/mysql/log/mysql.sock /tmp/mysql.sock

(7)再次以临时密码登录

[root@localhost mysql]# mysql -u root -p
Enter password:   (此处输入刚刚复制的临时密码)

CentOS7环境下安装MySQL8详细图文教程(亲测避坑)_第4张图片

(8)修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 
mysql> flush privileges;

(9)开启远程登录

mysql> use mysql;
mysql> update user set host='%' where user='root'; 
mysql> flush privileges;

四、开放MySQL服务端口

1、重启服务且查看状态

mysql> quit
[root@localhost mysql]# service mysql restart
[root@localhost mysql]# service mysql status

CentOS7环境下安装MySQL8详细图文教程(亲测避坑)_第5张图片
2、设置MySQL服务自启

[root@localhost mysql]# chmod +x /etc/init.d/mysql
[root@localhost mysql]# systemctl enable mysql

3、开放防火墙端口

(1)查看防火墙开放端口

[root@localhost mysql]# firewall-cmd --list-all

CentOS7环境下安装MySQL8详细图文教程(亲测避坑)_第6张图片

(2)如果没有开放3306端口,则在防火墙中将3306端口开放

[root@centos7 bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@centos7 bin]# firewall-cmd --reload

五、测试MySQL连接

1、打开Navicat,输入MySQL服务的信息,点击测试连接
CentOS7环境下安装MySQL8详细图文教程(亲测避坑)_第7张图片

你可能感兴趣的:(MySQL,mysql,centos,服务器)