当前位置: 首页 > news >正文

MySQL数据库——在Centos7环境安装

MySQL在Centos7环境安装

1.切换root用户

安装与卸载中,用户全部切换成为root,安装好后,普通用户也能使用

2.卸载不要的环境

要将自己环境中有关mysql的全都删除,避免安装过程中被影响

ps axj | grep mariadb 先检查是否有mariadb服务启动

这种状态才是没有启动的

如果存在启动的mariadb服务,执行systemctl stop mariadb.service,再运行ps axj | grep mariadb

3.检查并卸载系统安装包

检查自己的环境中存不存在其他的安装包,避免在安装过程中用错或产生干扰,使最后安装结果的版本不匹配

rpm -qa | grep mariadb

rpm -qa | grep mysql

我的环境中并没有,

假设有其他的包,会显示包的名称,例如:

mysql-community-server-5.7.41-1.el7.x86_64
mysql57-community-release-el7-11.noarch
mysql-community-client-5.7.41-1.el7.x86_64
mysql-community-libs-5.7.41-1.el7.x86_64

此时就需要卸载这些默认安装包,执行(最好一个一个卸载):

sudo yum remove mariadb

然后检查是否有文件/etc/my.cnf,执行ls /etc/my.cnf,然后做个备份

4.获取mysql官方yum源

检查自己系统版本:cat /etc/redhat-release

我的是不常用的示范机,装的是阿里云的linux系统

正常应该是显示centos版本,例如:

浏览器输入:Index of /232905

注意:最好安装和自己系统⼀致的mysql版本,否则可能会存在软件兼容性问题

找到后下载到你的本地,然后上传到你的Linux服务器

然后右键选择查看网页源代码,这样会显示出来版本号全称

找mysql57开头的,后缀是elX-X的(大概在一百五十多行)

然后在当前目录新建一个文件夹MySQL

mkdir MySQL

cd MySQL

然后上传刚下载的mysql文件

我这里使用rz命令,不需要用xftp,可以先使用yum下载(sudo yum install lrzsz

5.安装mysql yum源

查看本地yum源,安装前后进行对比,命令ls /etc/yum.repos.d/ -al,(我们的肯定不相同,但是可以看到没有mysql相关的yum源)

安装,使用rmp,命令rpm -Uvh mysql57-community-release-el7-9.noarch_.rpm(后边跟你自己的包的名称,注意版本号)

再次查看yum源,会发现多了两个mysql相关的

再看看能不能工作,输入命令yum list |grep mysql(需要等待几秒,我只截取了部分,后边还有很多)

6.安装mysql服务

执行命令yum install -y mysql-community-server

有可能会报错,如下:

这种情况是密匙过期,执行命令rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022就能解决

然后再次执行安装命令

成功!

7.查看配置文件和数据存储位置

/etc/my.cnf此文件是mysql配置文件

/var/lib/mysql此文件是存储mysql数据的文件

8.启动服务

执行命令systemctl start mysqld.service

查看启动服务,执行命令ps axj |grep mysqld,可以看到已经启动了

9.登录方法

我们现在还不知道密码,正常情况执行mysql -uroot是还登录不上的,有几种登录方式,我直接挑一种大部分场景都可以用的:直接跳过密码验证进行登录,需要进行mysql配置

执行命令vim /etc/my.cnf,然后在最后一行加上skip-grant-tables

然后按esc:wq!保存配置

配置完以后需要重启mysql服务,执行命令systemctl restart mysqld

启动mysql,执行命令mysql -uroot

登录成功!

10.设置密码

mysql> use mysql;
mysql> update mysql.user set authentication_string = password('新密码') where user='root';
mysql> flush privileges;
mysql> quit;

然后把配置文件改回来。就是把之前在/etc/my.cnf加的那一行删除了,然后重启mysql服务systemctl restart mysqld,这次进行登录,但是需要在结尾加上-p,不加是不需要输入密码的登录方式

成功登录!

11.开机自启动(选择性设置)

执行命令:

systemctl enable mysqld

systemctl daemon-reload

12.my.cnf配置

配置⼀下my.cnf,主要是数据库客户端和服务器的编码格式

我这里配置了如上三种,配置完毕后重启mysql服务即可systemctl restart mysqld

可选配置:

  1. port=3306: 这个设置指定了 MySQL 服务器监听的端口号。默认情况下,MySQL 使用端口号 3306 来接收客户端的连接。你可以根据需要修改这个值,但通常情况下不需要更改。
  2. character-set-server=utf8: 这个设置指定了 MySQL 数据库服务器的默认字符集。在这种情况下,字符集被设置为 UTF-8,这是一种通用的字符编码,支持多种语言的字符集。设置数据库的字符集是非常重要的,特别是当数据库需要存储和处理多语言数据时。
  3. default-storage-engine=innodb: 这个设置指定了 MySQL 数据库服务器的默认存储引擎。在这种情况下,存储引擎被设置为 InnoDB。InnoDB 是 MySQL 中最常用的存储引擎之一,它支持事务、外键和行级锁等特性,通常被用于处理事务性的数据。MySQL 还支持其他存储引擎,如 MyISAM、Memory 等,每种存储引擎都有其自身的特点和适用场景。
  4. datadir=/var/lib/mysql: 这个设置指定了 MySQL 数据库服务器的数据目录。在这个配置中,数据目录被设置为 /var/lib/mysql,这是 MySQL 默认的数据存储位置。
  5. socket=/var/lib/mysql/mysql.sock: 这个设置指定了 MySQL 数据库服务器的套接字文件路径。在这个配置中,套接字文件路径被设置为 /var/lib/mysql/mysql.sock,MySQL 客户端可以通过这个套接字与服务器进行通信。
  6. symbolic-links=0: 这个设置禁用了 MySQL 数据库服务器中的符号链接,以预防各种安全风险。
  7. log-error=/var/log/mysqld.log: 这个设置指定了 MySQL 数据库服务器的错误日志文件路径。在这个配置中,错误日志文件被设置为 /var/log/mysqld.log
  8. pid-file=/var/run/mysqld/mysqld.pid: 这个设置指定了 MySQL 数据库服务器的进程 ID 文件路径。在这个配置中,进程 ID 文件被设置为 /var/run/mysqld/mysqld.pid

http://www.lryc.cn/news/385584.html

相关文章:

  • 怎样规避液氮容器内部结霜的问题
  • 冶金工业5G智能工厂工业物联数字孪生平台,推进制造业数字化转型
  • 一文入门机器学习参数调整实操
  • 基于51单片机的银行排队呼叫系统设计
  • JXCategoryView的使用总结
  • Centos9 安装VBox增强功能问题
  • 【JVM】Java虚拟机运行时数据分区介绍
  • 大数据面试题之Kafka(2)
  • 前端面试题(基础篇十一)
  • 【论文阅读】Answering Label-Constrained Reachability Queries via Reduction Techniques
  • Git Flow 工作流学习要点
  • blender 快捷键 常见问题
  • HTTP详解:TCP三次握手和四次挥手
  • 详解HTTP:有了HTTP,为何需要WebSocket?
  • Spring Boot 启动流程是怎么样的
  • 【学习笔记】数据结构(三)
  • 学习python笔记:10,requests,enumerate,numpy.array
  • 经典神经网络(13)GPT-1、GPT-2原理及nanoGPT源码分析(GPT-2)
  • MySQL库与表的操作
  • TTS 语音合成技术学习
  • 小公司做自动化的困境
  • 基于pytorch框架的手写数字识别(保姆级教学)
  • 注意力机制在大语言模型中的应用
  • qt 实现对字体高亮处理原理
  • SAP中通过财务科目确定分析功能来定位解决BILLING问题实例
  • 充电站,正在杀死加油站
  • 哪个牌子的超声波清洗机好?四样超卓超声波清洗机独具特色!
  • vue3中若v-model绑定的响应字段出现三级,该如何实现rules验证规则
  • Docker-Compose一键部署项目
  • 【C++】相机标定源码笔记-线激光点云处理工具类