安装

下载安装包

官网下载:MySQL :: Download MySQL Community Server (Archived Versions)

image-20230921200021921

系统版本选择Red Hat EnterPrise,该版本的linux为企业版Centos,所以也适用于Centos。我的Centos7所以这边也选择一个7的版本,下载包就选得一个最大的那个

解压压缩包

1
tar -xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 

image

解压完毕后获得以下文件

image

开始安装mysql

在安装之前以免有些依赖出现冲突,先卸载mariadb

1
2
3
rpm -e --nodeps mariadb-libs

rpm -e -qa|grep mariadb-lib

安装命令顺序如下:

1
2
3
4
5
6
7
8
9
10
11
rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.33-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm

不出意外的话mysql就已经安装完成,如果出现以下错误:

1
2
3
4
net-tools 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
/usr/bin/perl 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
perl(Getopt::Long) 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
perl(strict) 被 mysql-community-server-8.0.18-1.el7.x86_64 需要

则需要运行一下这两行命令

1
2
3
yum install net-tools

yum install -y perl-Module-Install.noarch

结束后再重新运行一下rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm 即可,之后就初始化以下数据库

1
mysqld -initialize console

作用是将/var/lib/mysql/目录下的所有文件和子目录的所有者(owner)和所属组(group)都修改为mysql:mysql

1
chown -R mysql:mysql /var/lib/mysql/

开启mysql数据库

输入命令

1
systemctl start mysqld

启动完毕后查看mysql的默认密码

1
cat /var/log/mysqld.log

image

我的密码为 jKfjbEhy!5wm

登陆MySQL服务器

输入命令

1
2
3
4
//先输入命令
mysql -uroot -p
//后输入密码
jKfjbEhy!5wm

修改密码

登陆成功后输入命令修改初始密码,如将密码修改为123456

1
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

如果报错

1
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

则需要修改当前密码的安全策略,所以需要先按照要求的安全策略设置好符合的密码,可以模仿初始密码的格式

1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'mxjjbEhy!5wm';

之后再修改安全策略的等级为0,和想要的密码长度例如123456的密码长度为6

1
2
3
4
-- LOW表示安全等级为0
SET GLOBAL validate_password.policy = 'LOW';

set GLOBAL validate_password.length=6;

结果如下:
image

之后就可以修改任意长度为6的密码了,输入我们一开始要修改的密码

1
2
3
4
5
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

-- 密码修改成功
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.10 sec)

配置文件

首先exit退出一下数据库,将原先的my.cnf文件进行备份后编辑配置文件

1
2
3
4
5
#备份命令
cp /etc/my.cnf /etc/my.cnf.back

#编辑文档
vim /etc/my.cnf

配置内容如下,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[mysqld]

# 监听的ip地址,127.0.0.1,仅限本机访问,0.0.0.0 全地址可以访问(任何主机)
bind-address=0.0.0.0

#设置端口号
port=3306

#设置mysql运行用户
user=root

#设置mysql的安装目录
basedir=/var/lib/mysql # 注意替换自己的路径

# 设置mysql数据库的数据的存放目录
datadir=/var/lib/mysql # 注意替换自己的路径

# 设置mysql以socket方式运行时sock文件位置
socket=/var/lib/mysql/mysql.sock # 注意替换自己的路径

#设置错误日志存放位置
#log-error=/usr/mysql8/data/mysql.err # 注意替换自己的路径
log-error=/var/log/mysqld.log

#设置进程id文件位置
pid-file=/var/run/mysqld/mysqld.pid # 注意替换自己的路径

# 允许最大连接数
max_connections=10000

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10

# 服务器使用的默认字符集
character_set_server=utf8mb4

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 建议禁用符号链接,以防止各种安全风险
symbolic-links=0

# 设置时区
default-time_zone='+8:00'

# 不使用SSL
skip_ssl

#TIMESTAMP类型和其他的类型有点不一样,不添加该项配置,否则启动时,会报警
explicit_defaults_for_timestamp=true

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

保存好文件后重启服务

1
systemctl restart mysqld

尝试连接数据库

关闭Centos的防火墙

1
systemctl stop firewalld

使用Navicat连接数据库,不过在这之前先检查一下ip,可以输入命令ip a来查看Centos所在的ip地址

imagepowershell3

查看网卡ens33中我的ip地址为192.168.100.206,查找到之后可以通过这个ip来连接数据库了,当然如果没有ip的话可以进入到网卡配置中检查网卡是否启用,使用vim编辑配置

1
vim /etc/sysconfig/network-scripts/ifcfg-ens33

输入这串命令回车,按i进入编辑模式修改ONBOOT为yes即可,按esc后:wq回车保存退出

enss

ip a检查一下应该就有ip地址了,之后打开Navicat输入ip、用户名和密码就可以连接了

Navicat

卸载

检查软件包

查找已安装的mysql软件包

1
rpm -qa|grep -i mysql

查找到的结果为:

1
2
3
4
5
6
7
[root@bogon ~]# rpm -qa|grep -i mysql
mysql-community-common-8.0.33-1.el7.x86_64
mysql-community-icu-data-files-8.0.33-1.el7.x86_64
mysql-community-client-plugins-8.0.33-1.el7.x86_64
mysql-community-client-8.0.33-1.el7.x86_64
mysql-community-server-8.0.33-1.el7.x86_64
mysql-community-libs-8.0.33-1.el7.x86_64

卸载软件包

通过yum管理器命令卸载

1
2
3
4
5
6
7
8
9
10
11
yum remove mysql-community-common-8.0.33-1.el7.x86_64 -y

yum remove mysql-community-icu-data-files-8.0.33-1.el7.x86_64 -y

yum remove mysql-community-client-plugins-8.0.33-1.el7.x86_64 -y

yum remove mysql-community-client-8.0.33-1.el7.x86_64 -y

yum remove mysql-community-server-8.0.33-1.el7.x86_64 -y

yum remove mysql-community-libs-8.0.33-1.el7.x86_64 -y

运行结束了再运行一下查找的命令,查不到东西的时候就OK了

1
2
[root@bogon ~]# rpm -qa|grep -i mysql
[root@bogon ~]#

删除遗留文件

包卸载完成了就可以查看一下刚刚卸载mysql后遗留下的文件

1
find / -name mysql

查询后我这边的结果

1
2
3
4
5
6
[root@bogon ~]# find / -name mysql
/root/stu/go/node_modules/mysql
/root/mysql
/var/lib/mysql #删除
/var/lib/mysql/mysql #删除
/usr/lib64/mysql #删除

删除掉标记的目录

1
2
3
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/mysql

最后再查找一下my.cnf文件,删除了msql就算完全从linux中卸载删除了

1
2
[root@bogon ~]# find / -name my.cnf
/root/temp/my.cnf

删除my.cnf文件

1
rm -rf /root/temp/my.cnf

ok!!!卸载结束