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

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.mzph.cn/news/621867.shtml

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

相关文章

【数据结构与算法】之数组系列-20240113

这里写目录标题 一、66. 加一二、121. 买卖股票的最佳时机三、136. 只出现一次的数字四、268. 丢失的数字五、350. 两个数组的交集 II 一、66. 加一 简单 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位&…

NVMe系统内存结构 - PRP与PRP List

NVMe系统内存结构 - PRP与PRP List 1 为什么需要PRP2 PRP3 PRP List4 PRP寻址算法4.1 仅PRP1指向数据4.2 PRP1指向数据,PRP2指向数据4.3 PRP1指向数据,PRP2指向PRP List 本文属于《 NVMe协议基础系列教程》之一,欢迎查看其它文章。 1 为什么…

【C++】“Hello World!“

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 ​ 2024.1.14 纪念一下自己编写的第一个C程序 #include<iostream>int main() {/*我的第一个C程序*/std::cout << "Hello world!:>" <<std::endl;ret…

【开发板资料】Arduino NANO 资料分享(引脚分布图、原理图、亮灯程序等)

给出部分参考资料以及来源 引脚分布 PINOUT 来源&#xff1a;Nano | Arduino Documentation https://docs.arduino.cc/hardware/nano PINOUT PINOUT 来源&#xff1a;https://www.tumblr.com/pighixxx/42591353009/arduino-nano-pinout https://www.tumblr.com/pighixxx/…

C++深入学习之STL:1、容器部分

标准模板库STL的组成 主要由六大基本组件组成&#xff1a;容器、迭代器、算法、适配器、函数对象(仿函数)以及空间配置器。 容器&#xff1a;就是用来存数据的&#xff0c;也称为数据结构。 本文要详述的是容器主要如下&#xff1a; 序列式容器&#xff1a;vector、list 关联…

如何使用手机公网远程访问本地群辉Video Station中视频文件【内网穿透】

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 1.使用环境要求&#xff1a;2.下载群晖videostation&am…

React 原理

函数式编程 纯函数 reducer 必须是一个纯函数&#xff0c;即没有副作用的函数&#xff0c;不修改输入值&#xff0c;相同的输入一定会有相同的输出不可变值 state 必须是不可变值&#xff0c;否则在 shouldComponentUpdate 中无法拿到更新前的值&#xff0c;无法做性能优化操作…

【GitHub项目推荐--国外大神复刻暗黑2】【转载】

《暗黑破坏神2》&#xff0c;由顶尖游戏公司暴雪研发&#xff0c;2000 年上市&#xff0c;其资料片 2001 年上市&#xff0c;2D 画面。相信这款游戏已经成为很多人的回忆了&#xff0c;不知道当时是不是也和我一样沉迷于收集套装呢&#xff1f; 这款游戏的剧情设计、画面感都令…

vue3+threejs可视化项目——搭建vue3+ts+antd路由布局(第一步)

文章目录 ⭐前言&#x1f496;vue3系列相关文章 ⭐搭建vue3项目过程&#x1f496; 初始化项目&#x1f496; 添加antd和router依赖&#x1f496; vite配置项映射目录和代理&#x1f496; antd国际化&#x1f496; layout布局封装&#x1f496; vite读取modules目录文件作为路由…

网络爬虫丨基于scrapy+mysql爬取博客信息并保存到数据库中

文章目录 写在前面实验描述实验框架实验需求 实验内容1.安装依赖库2.创建Scrapy项目3.配置系统设置4.配置管道文件5.连接数据库6.分析要爬取的内容7.编写爬虫文件 运行结果写在后面 写在前面 本期内容&#xff1a;基于scrapymysql爬取博客信息并保存到数据库中 实验需求 ana…

第二十八周:文献阅读笔记(弱监督学习)+ pytorch学习

第二十八周&#xff1a;文献阅读笔记&#xff08;弱监督学习&#xff09; 摘要Abstract1. 弱监督学习1.1. 文献摘要1.2. 引言1.3. 不完全监督1.3.1. 主动学习与半监督学习1.3.2. 通过人工干预1.3.3. 无需人工干预 1.4. 不确切的监督1.5. 不准确的监督1.6. 弱监督学习的创新点 2…

【读书笔记】《重构_改善既有代码的设计》重构的方法论

重构的方法论 标题&#xff1a;【读书笔记】【读书笔记】《重构_改善既有代码的设计》重构的方法论 时间&#xff1a;2024.01.14 作者&#xff1a;耿鬼不会笑 重构是什么? 什么是重构&#xff1a; “重构”这个词既可以用作名词也可以用作动词。 重构&#xff08;名词&…

HandlerInterceptor拦截器 postHandle执行addHeader无效,postHandle执行setStatus无效的解决方案

问题描述 想在postHandle方法里执行addHeader方法来补充一些Header信息&#xff08;如分页信息&#xff09;&#xff0c;但是最后执行却未如期显示 拦截器源码 import com.zhangziwa.practisesvr.utils.response.ResponseContext; import jakarta.servlet.http.HttpServletR…

动态内存管理4大函数的进阶

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

用C语言实现哈希表HashMap

代码仓库地址 1. 功能说明 自定义初始容量和负载因子&#xff1b;当键值对的个数与容量比值超过负载因子时&#xff0c;自动扩容&#xff1b;借鉴Java8的HashMap部分扩容逻辑&#xff0c;定义了单独的桶结构体用于记录hash值&#xff0c;以及2倍扩容&#xff0c;减少了hash运算…

Python二级:二叉树问题求解

一、题源 在Python二级考试中前10道基础题是必考题&#xff0c;虽然没有什么卵用&#xff0c;但是你得分不达标&#xff0c;还不让你过&#xff0c;没有办法只好硬着头皮去刷题了。这10道题中有一个二叉树题比较难&#xff0c;现摘录如下&#xff0c;同时给出gpt-4的解答&…

ruoyi后台管理系统部署-3-安装redis

centos7安装redis 1. yum 安装 查看是否安装了redis yum installed list | grep redis ps -ef | grep redis安装epel 仓库&#xff08;仓库是软件包下载的&#xff0c;类似maven&#xff0c;nuget&#xff09; yum install epel-release搜索 redis 包 yum search redis安装…

逸学Docker【java工程师基础】1.认识docker并且安装

场景问题 在实际开发过程中我们有这样的场景问题 在开发阶段的环境配置到了其他人项目人员那里就不能运行了&#xff0c;尽管配置规格相同&#xff0c;但是在较多的不同的环境情况下还是可能会有错误。 开发&#xff1a;程序员&#xff1a;你那边可以运行了吗 测试&#xf…

爬虫补环境jsdom、proxy、Selenium案例:某条

声明&#xff1a; 该文章为学习使用&#xff0c;严禁用于商业用途和非法用途&#xff0c;违者后果自负&#xff0c;由此产生的一切后果均与作者无关 一、简介 爬虫逆向补环境的目的是为了模拟正常用户的行为&#xff0c;使爬虫看起来更像是一个真实的用户在浏览网站。这样可以…

前端基础知识整理汇总(下)

react 生命周期 React v16.0前的生命周期 初始化(initialization)阶段 此阶段只有一个生命周期方法&#xff1a;constructor。 constructor() 用来做一些组件的初始化工作&#xff0c;如定义this.state的初始内容。如果不初始化 state 或不进行方法绑定&#xff0c;则不需…