ruoyi后台管理系统部署-2-安装mysql

news2024/11/19 7:47:16

centos7 mysql 安装

1. 手动安装

安装

首先查看系统是否安装了:

rpm -qa|grep mariadb
rpm -qa | grep mysql
systemctl status mysqld
find / -name mysql.cnf

在这里插入图片描述
卸载自带的 mariadb:

rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

去官网下载 mysql 安装包:
前往mysql官网下载rpm包,centos选择red hat:mysql下载地址
上传至服务器,解压

# 解压 tar 用 -xvf,解压.tar.gz 用 -zxvf
tar -xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

依次安装包:

rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
yum install libaio-devel
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm

centos7 安装mysql 错误:libaio.so.1()(64bit) is needed by mysql-community-server-5.7.44-1.el7.x86_64:
需要安装:yum install libaio-devel

初始化数据库:

mysqld --initialize 

初始化的时候,会生成随机密码,查看密码:

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

更改mysql数据库目录的所属用户及其所属组,然后启动mysql数据库:

chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
# 查看数据库运行状态
systemctl status mysqld.service

连接mysql:

mysql -uroot -p
#输入密码
#重置密码
set password=password('root');
#创建用户及权限分配:
create user 'root'@'%' identified by 'root'; 

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges;

exit

设置不区分大小写:

lower_case_table_names = 1

重启服务

systemctl restart mysqld
systemctl status mysqld

卸载

卸载是按照安装顺序逆序卸载:
在这里插入图片描述

yum 安装

  1. 下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
  1. 安装msyql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
  1. 检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"

在这里插入图片描述

  1. 安装
# 第一步如果没有执行,会报错,如下面的图片。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-community-server

在这里插入图片描述
5. 启动

systemctl start mysqld

# 查看状态
systemctl status mysqld

# 设置开机启动
systemctl enable mysqld
systemctl daemon-reload
  1. 初始化
    按照手动安装上面的步骤
grep 'temporary password' /var/log/mysqld.log

如果没有返回,找不到root密码,解决方案:

# 1删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)
rm -rf /var/lib/mysql
# 2 重启mysqld服务
systemctl restart mysqld
# 3 再去找临时密码
grep 'temporary password' /var/log/mysqld.log
  1. mysql 安全配置
mysql_secure_installation

运行这个命令,会让你更改密码,删除测试数据库,禁止root远程登录权限。
8. 修改密码策略
首先备份 my.cnf

cp /etc/my.cnf /etc/my.cnf.bak

在/etc/my.cnf文件添加 validate_password_policy 配置,指定密码策略

vi /etc/my.cnf.bak
# 在文件最后添加
validate_password = off	
# 重启服务
systemctl restart mysqld

Mysql的root用户,只能本地访问,这里在创建一个远程可以访问的 用户。

GRANT ALL PRIVILEGES ON *.* TO 'ruoyi'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;

相关命令:

# 查看所有用户,以root登录mysql
SELECT DISTINCT CONCAT('User: ''', user, '''@''', host, ''';') AS query FROM mysql.user;

## 添加权限
GRANT ALL PRIVILEGES ON *.* TO ‘用户名’@’%’ ;
FLUSH PRIVILEGES;

# 查看用户权限
SHOW GRANTS FOR '用户名'@'%';


# 删除用户
DROP USER '用户名'@'%';

# 撤销权限
REVOKE ALL PRIVILEGES ON *.* FROM  ‘用户名’@’%’ ;
FLUSH PRIVILEGES;

  1. 忽略大小写
    登陆mysql查看:
mysql> show variables like "%case%";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 0     |  ##0区分 1 不区分
+------------------------+-------+
2 rows in set (0.00 sec)

修改配置文件:/etc/my.cnf

# 0:区分大小写,1:不区分大小写
lower_case_table_names =1

重启服务生效:

systemctl restart mysqld

常见错误:

  1. ERROR 1067 (42000): Invalid default value for 'FAILD_TIME' (对TIMESTAMP 类型的子段如果不设置缺省值或没有标志not null时候在创建表时会报这个错误)
    这是因为sql_mode中的NO_ZEROR_DATE导制的,在strict mode中不允许’0000-00-00’作为合法日期
    排查:
show variables like 'sql_mode';

将上面的NO_ZERO_DATE改为下面的ALLOW_INVALID_DATES
修改my.cnf

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

查看 mysql 安装信息:

rpm -ql mysql-community-server
rpm -qc mysql-community-server
rpm -qi mysql-community-server
  • -ql 用于列出包安装的所有文件。
  • -qc 用于查看包的内容,列出文件和目录。
  • -qi 用于获取包的详细信息。

配置默认字符集:在 my.cnf 添加:

[client]
default-character-set=utf8

[mysql]
# 配置默认字符集
default-character-set=utf8
 
[mysqld]
# 配置字符集和排序 
character-set-server=utf8
collation-server=utf8_general_ci

设置时区:

[mysqld]
default-time_zone='+8:00'

在MySQL 5.7的配置文件my.cnf中,[client][mysql][mysqld]是三个不同的配置节,它们分别用于配置客户端连接参数、MySQL客户端(客户端库)参数和MySQL服务器参数。下面是每个节的作用:

  1. [client]
    这个节包含客户端连接到MySQL服务器时使用的参数。这些参数影响客户端如何与服务器交互。例如,port指定客户端连接的端口,socket指定客户端使用的Unix域套接字文件的位置。
  2. [mysql]
    这个节包含MySQL客户端库(客户端工具和库)的参数。这些参数影响MySQL客户端程序的行为。例如,prompt定义了MySQL客户端提示符的格式。
  3. [mysqld]
    这个节包含MySQL服务器参数。这些参数定义了服务器的运行方式,包括如何处理连接、数据存储、日志记录、安全设置等。例如,port指定服务器监听的端口,basedirdatadir指定了服务器的安装目录和数据目录,log-error指定了错误日志的文件路径。
    通常,my.cnf文件包含这三个节,但是[mysql]节在某些情况下可能不存在,因为它是可选的。如果[mysql]节不存在,相关的参数可能会被放在[client][mysqld]节中,或者直接在命令行中指定。
    在修改my.cnf文件时,需要注意:
  • 每个节的开头是一个方括号,结尾是一个闭合的方括号。
  • 节内的配置项遵循相同的格式,即键值对,其中键(参数名)后面跟有一个等号,然后是参数的值。
  • 配置文件中的路径应该使用绝对路径,或者在客户端连接时指定相对路径。
  • 有些参数可以同时在多个节中指定,但在不同节中指定的参数可能会相互覆盖。
    正确地配置my.cnf文件对于确保MySQL服务器的安全性、性能和稳定性至关重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1385935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Chapter 9 运算符重载

目的:运用运算符重载 🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓🍓&…

OpenHarmony4.0适配LVDS屏幕驱动

1.概述 手头有一块RK3568的开发板OK3568-C,但是还没有适配OpenHarmony,用的还是LVDS屏幕,但是官方和网上好像还没有OpenHarmony4.0的LVDS屏幕驱动的通用实现,所以决定尝试了一下适配该开发板,完成LVDS屏幕驱动的适配&…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑风电出力不确定性的电网无功-电压控制鲁棒分区方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这个标题涉及到考虑风电出力不确定性的电网无功-电压控制鲁棒分区方法。让我们逐步解读这个标题的主要关键词和概念: 考虑风电出力不确定性…

Ubuntu server搭建dhcp服务器

安装 直接使用一下命令进行安装 apt-get install isc-dhcp-server 以下就是安装好的图片 然后进入dhcp目录 cd /etc/dhcp 进入后用ls查看当前目录存在哪些文件 使用如下进入dhcp.conf vim dhcpd.conf 红:设置ip域和子网掩码 绿:设置ip池范围 黄…

Linux下的HTTP代理服务器Squid的配置和使用

Squid是一个流行的Linux下的HTTP代理服务器软件。通过Squid,你可以在Linux服务器上设置一个代理服务器,以便为客户端提供安全的网络连接和数据传输。以下是Squid的配置和使用指南。 1. 安装Squid 首先,你需要确保你的Linux系统上已经安装了…

机器学习算法 - 马尔可夫链

马尔可夫链(Markov Chain)可以说是机器学习和人工智能的基石,在强化学习、自然语言处理、金融领域、天气预测、语音识别方面都有着极其广泛的应用 > The future is independent of the past given the present 未来独立于过去&#xff…

arcgis javascript api4.x加载天地图wgs84(wkid:4326)坐标系

需求: 使用arcgis javascript api4.x以basetilelayer方式加载天地图wgs84(wkid:4326)坐标系 效果: 代码: 提示:(下述三个文件放同一个文件夹下) 4326.js define([ex…

五、mysql8忘记root用户密码怎么办?怎么修改用户密码?

目录 1、忘记密码怎么修改密码 1)、首先停止mysql的服务 2)、新建一个文本文件,文本文件中就写一条修改密码的语句 3)、使用管理员权限运行cmd命令行,运行以下命令: 4)、然后按CTRLC结束上…

Jetbrains ai assistant激活后仍无法使用,怎么回事?

用正式的ai assistant激活码激活后仍然无法使用 首先获取了ai assistant激活码,激活后如下 地址:https://web.52shizhan.cn 上图是已经激活成功了,但是在右侧这里打开ai assistant不可用 点击开始使用ai assistant 出错 以上是用了ai as…

ssm基于web的学生考勤管理系统论文

基于Web的学生考勤管理系统的设计与实现 摘 要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前学校对于学生考勤信息的管理和控制,采用人工登记的方式保存相关数据&#xff…

[Kubernetes]10. k8s部署Goweb+mysql项目实战演练

一.安装docker构建镜像 如果要本地构建镜像的话,对应节点还需要安装docker,安装教程见:[Docker]一.Docker 简介与安装 linux环境,centos8下 docker及docker compose安装教程 k8s部署Goweb+mysql项目有两种方法:第一种是传统部署方法,第二种是通过ConfigMap实现应用配置分离部署…

数据库第一次作业

1.创建一个英雄表 create table t_hero ( id int primary key auto_increment, name varchar(10) unique not null, gender char(5) check (gender in (男,女)), grade char(5) default 5星, groups char(5) check (groups in (毁灭,巡猎,智识,存护,…

4.2V锂电线性1.2A充电芯片WT4056

4.2V锂电线性1.2A充电芯片WT4056 WT4056是一款专为单节锂离子电池设计的恒流/恒压线性充电器。其简洁的外部电路设计使其非常适用于便携设备的供电,同时兼容USB电源和适配器电源。该充电器内部采用了防倒充电路,无需额外添加外部隔离二极管。通过热反馈…

Zabbix监控(1)

目录 一.什么是zabbix Zabbix 组件: 主动模式: 被动模式: Zabbix 工作原理: zabbix 监控原理: 二.Zabbix 6.0 部署 先安装nginx,php(yum源安装): 安装nginx&…

用bat脚本执行py文件以及批量执行py文件(全网超详细)

1.前言 对于python代码,每次执行一个文件就要运行一个命令,太过麻烦 在Windows电脑上,想一次性执行多个python文件的代码,就需要用到bat脚本 2.python代码 先写几个python代码的文件 如下图 3.py文件为中文,用bat执…

Javaweb之SpringBootWeb案例的详细解析

SpringBootWeb案例 前面我们已经讲解了Web前端开发的基础知识,也讲解了Web后端开发的基础(HTTP协议、请求响应),并且也讲解了数据库MySQL,以及通过Mybatis框架如何来完成数据库的基本操作。 那接下来,我们就通过一个案例&#xf…

MATLAB实验Simulink的应用

本文MATLAB源码,下载后直接打开运行即可[点击跳转下载]-附实验报告https://download.csdn.net/download/Coin_Collecter/88740734 一、实验目的 1.熟悉Simulink操作环境。 2.掌握建立系统仿真模型以及系统仿真分析的方法。 二、实验内容 1.利用Simulink仿真下列曲…

【数据结构】哈希表详解,举例说明 java中的 HashMap

一、哈希表(Hash Table)简介: 哈希表是一种数据结构,用于实现字典或映射等抽象数据类型。它通过把关键字映射到表中的一个位置来实现快速的数据检索。哈希表的基本思想是利用哈希函数将关键字映射到数组的索引位置上,…

centos7 arm服务器编译安装openssl 1.1.1版本

前言 在centos7中,默认安装的openssl版本是1.0.2,太低了,在python项目开发中,由于需要用到requests包,这时候就会出现如下错误“ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1”: 解决办法就只能…

10万字200道软件测试经典面试总结(附答案)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,获取《110万字200道软件测试经典面试总结(附答案)》pdf,背题更方便,一文在手&#xff…