前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL环境配置

MySQL环境配置

作者头像
每天都要进步呀
发布2023-10-16 11:14:22
1620
发布2023-10-16 11:14:22
举报
文章被收录于专栏:C++/LinuxC++/Linux

安装与卸载中,⽤⼾全部切换成为root,⼀旦安装,普通⽤⼾也能使⽤。

一.卸载不要的环境

  • 陈旧环境清理

有的系统自带数据库,或者mariadb(MySQL的一种分支版本),有的可以使用,但作为MySQL数据库的学习,需要把其他的卸载掉。

  1. 首先检查是否含有MySQL数据库、mariadb数据库。
image-20230710133756111
image-20230710133756111
image-20230710134038887
image-20230710134038887
  1. 如果存在MySQL,那么先关闭它,再进行卸载。
image-20230710134457359
image-20230710134457359

在Linux中,采用yum的方式获取安装包,一般都是.rpm的,rpm -qa就能查到所有的安装包,但此时只想查看MySQL的,所以grep筛选一下:

  1. 查看mysql安装包。
image-20230710134821859
image-20230710134821859
  1. 卸载3中查找的安装包(如果你的系统中存在,就需要删掉)。
image-20230710135037658
image-20230710135037658
  1. 确认是否存在遗留文件:ls /etc/my.cnf ,若有则需要删除。

mysql的数据文件一般不会随着卸载而被删除,数据会保存在/var/lib/mysql/目录下,但不会对我们的后续安装MySQL产生影响。

所以,卸载不要的环境最终可以总结以下这三点:

  1. 不存在mysql对应的rpm包
  2. 没有对应的mysql进程
  3. 没有my.cnf配置文件

做完前两步后my.cnf若仍存在,可以选择使用rm指令删除配置文件或者备份起来。

二.获取mysql官方yum源

image-20230710140459424
image-20230710140459424

官方yum源中存在多个版本,要结合我们自己的系统版本进行相应的版本下载,否则可能会存在软件兼容性问题。

  1. 首先需要查看我们系统的版本:
image-20230710140329503
image-20230710140329503
  1. 然后在官方中找到对应的版本进行下载:找到后直接点击
image-20230710140805736
image-20230710140805736

下载之后放到桌面,方便通过rz命令传到centos中。为了方便管理,在root的家目录新建一个MySQL目录来保存此文件:

image-20230710141301371
image-20230710141301371
  1. 查看yum源是否含有MySQL&&mysql的yum源安装
image-20230710141522643
image-20230710141522643

不存在mysql的yum源,所以直接安装会失败,现在就需要先进行相应的yum源安装:

image-20230710141911031
image-20230710141911031
  • 注:ivh选项相当于拷贝。

安装好之后,观察一下此时的yum源列表:

image-20230710142027400
image-20230710142027400

此时就可以查看安装的这个yum源,可以看到有若干个版本:

代码语言:javascript
复制
 vim /etc/yum.repos.d/mysql-community.repo 
image-20230710142507542
image-20230710142507542

总结一下:获取步骤可大致分为以下几步:

  • 在MySQL官网中找到对应的yum源并进行下载。
  • 通过rpm进行安装。
  • 安装前后效果就是更新本地yum源,让其中具有MySQL的yum源。
  1. 测试是否可以查到关于MySQL的内容(比较慢)
代码语言:javascript
复制
yum list | grep mysql
image-20230710142936673
image-20230710142936673

说明此时mysql的yum源已经生效。此时mysql-community-release-el7.rpm安装包没有用处了,可以删掉也可以不进行处理。删掉之后也可以查看:

image-20230710143251885
image-20230710143251885

此时已有了一键安装mysql的条件。

三.安装mysql服务

代码语言:javascript
复制
yum install -y mysql-community-server
image-20230710143632376
image-20230710143632376

若存在以上问题,说明没有安装成功,此时将标题翻到:常见问题,对此进行解决。

image-20230710144137453
image-20230710144137453

验证是否安装成功:

首先查看是否存在my.cnf的文件:

image-20230710144319193
image-20230710144319193

查看mysqld服务端:

image-20230710144425175
image-20230710144425175

查看mysql客户端:

image-20230710144512772
image-20230710144512772

三位一体,就安装成功了。

启动mysql

image-20230710144743863
image-20230710144743863

此时可以查看mysql的端口号:(mysql是一种网络服务)

image-20230710144822436
image-20230710144822436
image-20230710144922183
image-20230710144922183

四.mysql登陆

前三节已经安装好了mysql,在使用之前还需要进行登陆:

登陆方法有多种,但这里了解常见的一种就行了。

方法步骤:

  1. 打开mysql配置文件:my.cnf。
代码语言:javascript
复制
vim /etc/my.cnf
image-20230710153036011
image-20230710153036011
  1. 在尾部添加:skip-grant-tables 并保存。
image-20230710153159252
image-20230710153159252
  1. mysqld服务重启生效
代码语言:javascript
复制
systemctl stop mysqld
systemctl start mysqld
  1. 登陆mysql
image-20230710153901454
image-20230710153901454

最后显示的mysql>表示已经登陆成功,可以使用mysql了。

image-20230710154222489
image-20230710154222489

下面的各个名称都是数据库。

image-20230710160809064
image-20230710160809064

输入quit退出数据库。

五.设置配置文件my.cnf

配置⼀下my.cnf,主要是数据库客⼾端和服务器的编码格式->统一使用UTF-8的编码格式。

mysql作为网络服务,那么就可以更改其指定的端口号,通过配置my.cnf进而更改端口号。(仅仅演示,后续仍需要改回)

image-20230710161059977
image-20230710161059977
  • datadir=/var/lib/mysql代表数据库未来建表建库时的对应数据所在的路径。
  • socket:域间套接,会把本地mysql进程的pid放到mysql.sock中。
  • log-error:错误日志放到mysqld.log中‘
  • character-set-server:编码格式为utf-8
  • default-storage-engine:存储引擎为innodb
image-20230710162155830
image-20230710162155830

配置之后为了生效,需要重新启动mysqld:

代码语言:javascript
复制
systemctl restart mysqld
image-20230711202034087
image-20230711202034087

记得改回3306。

六.设置开机启动【可以不设】

代码语言:javascript
复制
#开启开机⾃启动
systemctl enable mysqld
systemctl daemon-reload
image-20230711205418581
image-20230711205418581

不过云服务器不会关机,因此没什么影响。

七.常见问题

  • mysql 已经配置了客⼾端服务器utf8编码,但是⽆法输⼊中⽂
代码语言:javascript
复制
确保您在终端命令⾏中可以输⼊中⽂
[whb@VM-0-3-centos ~]$ env |grep LANG
LANG=en_US.utf8
  • 安装遇到秘钥过期的问题:(三.安装mysql服务出现了此情况)
代码语言:javascript
复制
Failing package is: mysql-community-client-5.7.39-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

解决方案:

代码语言:javascript
复制
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

再重新安装mysql-community-server。

代码语言:javascript
复制
yum install -y mysql-community-server
  • mysql8.0的防火墙问题:

安全策略性更好,一旦设置免密码登陆,就不能网络登陆了,只能进行本地的域间套接字进行通信,因此我在配置skip-grant-tables后netstat -nltp查不到相应的网络端口号等等,因为免密码登陆导致不安全,8.0版本为了保证安全就就禁止掉了网络通信。

解决方案:若想查到网络进程,则只需把免密登陆的配置注释掉即可。

8.0在后续的练习,不会出现问题。只有可能在mysql链接C语言时会出现问题,所以到时候在换成5.6版本的mysql。

腾讯云服务器Linux(CentOS7)Mysql8远程连接失败,port端口为0,

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.卸载不要的环境
  • 二.获取mysql官方yum源
  • 三.安装mysql服务
  • 四.mysql登陆
  • 五.设置配置文件my.cnf
  • 六.设置开机启动【可以不设】
  • 七.常见问题
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档