花了很多时间在linux上搭建mysql,中间碰到许多坑。在此记录一下。

1. 查询是否安装mysql

1.1 首先升级yum

yum update

1.2 检查是否安装mysql

rpm -qa | grep mysql
# 或命令
yum list installed | grep mysql

在这里插入图片描述
在这里插入图片描述
##########拓展小知识##############
linux系统基本上分两大类,RedHat系列和Debian系列。
RedHat系列:有Redhat、Centos、Fedora等。
Debian系列: 有Debian、Ubuntu等 。
RedHat 系列常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”。
包管理工具 yum。
支持tar包 。
Debian系列常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”。
包管理工具 apt-get。
支持tar包 。

1.3 卸载

yum -y remove mysql*  # -y表示yes的意思

可能碰到如下错误:

[root@zhiyuan-centos7 /]# yum -y remove mysql*
Loaded plugins: fastestmirror
No Match for argument: mysql80-community-release-el7-5.noarch.rpm
No Packages marked for removal

此时要先卸载:mysql80-community-release.noarch

yum -y remove mysql80-community-release.noarch

在这里插入图片描述
在卸载其他的,

yum -y remove mysql-*

在这里插入图片描述

1.4 删除剩余的mysql文件

find / -name mysql

在这里插入图片描述

2.安装MySQL

2.1 下载官方的Yum Repository

网站:https://repo.mysql.com/,选择自己需要的版本。
在这里插入图片描述

wget http://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm

注意: 下载对应linux版本的,比如上面的el7表示是CentOS7的版本,如果下载mysql80-community-release-el8-3.noarch.rpm,安装过程中出报依赖包错误。这里踩过坑。
看官方的网页:https://dev.mysql.com/downloads/repo/yum/
在这里插入图片描述

== 扩展知识==

如果你的Linux系统报:-bash: wget: command not found是找不到命令的意思,也就是无法执行下载命令,主要是因为你的系统太干净了,没有安装下载命令的控制器,我们给系统安装个下载命令器即可。

yum install wget -y

上面的noarch是no architecture的缩写,说明这个包可以在各个不同的cpu上使用。

2.2 安装repo

rpm -ivh mysql80-community-release-el7-5.noarch.rpm 

执行完会在/etc/yum.repos.d/看到两个repo文件
在这里插入图片描述

2. 3 刷新yum及查看yum中的MySQL版本

yum clean all | yum makecache
yum repolist all | grep mysql

在这里插入图片描述
可用命令yum-config-manager --disable mysql80-community或yum-config-manager --enable mysql80-community管理状态,或直接编辑/etc/yum.repos.d/mysql-community.repo

2. 4 开始安装mysql

yum -y install mysql-community-server

完成后开启服务:

systemctl start mysqld

设置开机自动启动:

systemctl enable mysqld

3. 登录MySQL

3.1 查看及修改密码

首次安装之后,有个初始密码,首次登录之后必须修改密码。
查看密码:

cat /var/log/mysqld.log | grep password

在这里插入图片描述

登录:

mysql -u root -p

输入密码:
在这里插入图片描述

修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'aws258369@L';

3.2 远程登录

用DBeaver远程登录,报如下错误:‘192.168.66.1’ is not allowed to connect to this MySQL server"

在这里插入图片描述

3.2.1 检查网络和防火墙

打开window的cmd,看不能ping通,和telnet
ping得通,没有问题
在这里插入图片描述
telnet过程中发现问题:win10 telnet不是内部或外部命令

telnet 192.168.66.131 3306

如下图,说明端口不通
在这里插入图片描述

3.2.2 开防火墙

开启firewalld

systemctl start firewalld | systemctl enable firewalld

永久开放端口3306

firewall-cmd --permanent --zone=public --add-port=3306/tcp

重新加载使之生效

firewall-cmd --reload

查看当前开放的端口

firewall-cmd --permanent --zone=public --list-ports

在尝试连接,还是报同样的错误:‘192.168.66.1’ is not allowed to connect to this MySQL server",这时需要做如下操作,允许远程连接

3.2.3 允许远程连接
use mysql;
update user set host = '%' where user ='root';
flush privileges;

在这里插入图片描述

或者创建一个远程连接的用户:

-- 创建一个可以远程登陆的root用户
CREATE USER 'jingjing'@'%' IDENTIFIED WITH mysql_native_password BY 'aws258369@L';
--- 为账户开放权限
grant all privileges on *.* to 'jojo'@'%';
flush privileges;

参考资料:

本内容为合法授权发布,文章内容为作者独立观点,不代表开发云立场,未经允许不得转载。

CSDN开发云