Linux系统Redhat7.4版本安装mysql-5.7.17详细步骤

1.1、在根目录创建一个data目录

mkdir /data

1.2、将MySQL安装包上传到/data目录下

1.3、解压MySQL安装包到当前目录

tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

1.4、因为解压后MySQL目录名称太长,修改成简短的mysql

mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql

1.5、此时创建mysql普通组和用户

#创建组
groupadd mysql
#创建用户
useradd -r -g mysql mysql

#查看组是否创建成功
cat /etc/group | grep mysql

#查看用户是否创建成功
cat /etc/passwd | grep mysql

1.6、在数据库解压目录创建一个数据存放data目录

mkdir /data/mysql/data

1.7、修改MySQL解压目录所属用户和组的权限,使用chown -R将目录下所有子目录和文件一并修改

chown -R mysql:mysql mysql

1.8、执行MySQL部署初始化命令,初始化成功后会在最下面生成MySQL数据库root用户的密码

/data/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/mysql/data --basedir=/data/mysql

1.9、进入 MySQL 安装目录的support-files目录,将启动命令和配置文件放到/etc/下

cd /data/mysql/support-files/

拷贝mysql.server到/etc/init.d

cp mysql.server /etc/init.d/mysql 

拷贝my-default.cnf到/etc/目录下

cp my-default.cnf /etc/my.cnf

1.10、因为MySQL默认安装目录是/usr/local目录下,我们现在安装在了根目录/data下,所以需要将两个文件中的地址进行修改,一个是 /etc/init.d/mysql 文件,一个是  /data/mysql/bin/mysqld-safe 两个文件,将文件中所有涉及 /usr/local  全部修改为 /data 即可

vim /etc/init.d/mysql

修改前

修改后

1.11、mysqld_safe文件也是同样将/usr/local 替换为/data ,因为此文件位置较多,就不全部截图,全部修改即可

vim /data/mysql/bin/mysqld_safe

以上是mysqld_safe 文件中所有需要修改的位置,修改后的就不截图了,全部改了就行

1.12、将配置文件全部修改成功后,开始启动MySQL数据库,进入 /etc/init.d 目录启动MySQL

#进入启动目录
cd /etc/init.d/

#执行启动命令
sh mysql start 

1.13、查看MySQL是否启动成功

ps -ef | grep mysql

1.14、将MySQL停止,配置MySQL配置文件,修改my.cnf

sh /etc/init.d/mysql stop

修改配置文件

vim /etc/my.cnf

打开后先将文件中内容全部清空,将下面内容填充进去,然后保存退出

[client]
no-beep
socket =/data/mysql/mysql.sock
port=3306
[mysql]
default-character-set=utf8
[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data
port=3306
# skip-grant-tables
skip-name-resolve
socket =/data/mysql/mysql.sock
character-set-server=utf8
default-storage-engine=INNODB
explicit_defaults_for_timestamp = true
# Server Id.
server_id = 3306
max_connections=2000
query_cache_size=0
table_open_cache=2000
tmp_table_size=246M
thread_cache_size=300
#限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用
thread_stack = 192k
key_buffer_size=512M
read_buffer_size=4M
read_rnd_buffer_size=32M
innodb_data_home_dir =/data/mysql/data
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=16M
innodb_buffer_pool_size=256M
innodb_log_file_size=128M
innodb_thread_concurrency=128
innodb_autoextend_increment=1000
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
join_buffer_size=128M
max_allowed_packet=1024M
max_connect_errors=2000
open_files_limit=4161
query_cache_type=0
sort_buffer_size=32M
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
#批量插入数据缓存大小,可以有效提高插入效率,默认为8M
bulk_insert_buffer_size = 64M
interactive_timeout = 120
wait_timeout = 28800
log-bin-trust-function-creators=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1
slow_query_log = ON
slow_query_log_file = /data/mysql/data/mysql_query_slow.log
long_query_time = 5
 
binlog-do-db=map_db
 
#启用二进制日志
log-bin=mysql-bin
#服务器唯一ID
server-id=3308

1.15、然后再启动MySQL

sh /etc/init.d/mysql start

1.16、启动成功后,登录MySQL客户端,首次登录需要使用root用户,root用户的密码使用上面1.8步的时候初始化生成的密码输入密码之后登录成功。

#进入MySQL客户端启动目录
cd /data/mysql/bin/

#输入进入客户端命令,使用root用户 -u是用户 -p是输入密码
./mysql -uroot -p

1.17、此时登录成功MySQL客户端后,还不能进行使用,因为首次使用需要修改root密码

#将root密码先修改成123456
set password=password('123456');

#添加支持远程访问
update mysql.user set host = '%' where user = 'root';

1.18、此时,数据库已经安装成功了,查看下数据库和表

安装成功!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI智能体|扣子Coze“图像流”功能速览

大家好,我是无界生长。 AI智能体|扣子Coze“图像流”功能速览Coze提供易上手的图像处理工作流,包含智能生成、智能编辑和基础编辑三类节点,旨在通过AI技术简化图像处理过程。本文对扣子Coze“图像流”功能做了简单介绍&#xff0…

爬虫学习--11.MySQL数据库的基本操作(上)

MySQL数据库的基本操作 创建数据库 我们可以在登陆 MySQL 服务后,使用命令创建数据库,语法如下: CREATE DATABASE 数据库名; 显示所有的数据库 show databases; 删除数据库 使用普通用户登陆 MySQL 服务器,你可能需要特定的权限来创建或者删…

基于EifficientNet的视网膜病变识别

分析一下代码 model.py ①下面这个方法的作用是:将传入的ch(channel)的个数调整到离它最近的8的整数倍,这样做的目的是对硬件更加友好。 def _make_divisible(ch, divisor8, min_chNone):if min_ch is None:min_ch divisornew…

爬虫学习--12.MySQL数据库的基本操作(下)

MySQL查询数据 MySQL 数据库使用SQL SELECT语句来查询数据。 语法:在MySQL数据库中查询数据通用的 SELECT 语法 SELECT 字段1,字段2,……,字段n FROM table_name [WHERE 条件] [LIMIT N] 查询语句中你可以使用一个或者多个表&…

Ajax用法总结(包括原生Ajax、Jquery、Axois)

HTTP知识 HTTP(hypertext transport protocol)协议『超文本传输协议』,协议详细规定了浏览器和万维网服务器之间互相通信的规则。 请求报文 请求行: GET、POST /s?ieutf-8...(url的一长串参数) HTTP/1.1 请求头…

MySQL数据库单表查询中查询条件的写法

1.使用比较运算符作为查询条件 ; !; >; >; <; <; 如上图所示&#xff0c;可以使用命令select 字段&#xff0c;字段 from 表名 where Gender “M”; 即挑选出Gender “M” 的教师&#xff0c; 如上图所示&#xff0c;可以使用命令select 字段&#xff0c;…

如何使用Android NDK将头像变成“遗像”

看完本文的标题&#xff0c;可能有人要打我。你说黑白的老照片不好吗&#xff1f;非要说什么遗像&#xff0c;我现在就把你变成遗像&#xff01;好了&#xff0c;言归正传。我想大部分人都用过美颜相机或者剪映等软件吧&#xff0c;它们的滤镜功能是如何实现的&#xff0c;有人…

TCP Spurious Retransmission

TCP虚假重传是网络中可能存在丢包问题的一个指标&#xff0c;但并不意味着一定存在丢包。虚假重传指的是当TCP发送方错误地认为原始数据包已丢失时&#xff0c;会不必要地进行重传&#xff0c;而实际上原始数据包已成功到达目的地。 虚假重传可能由多种因素引起&#xff0c;例…

【Linux】进程信号及相关函数/系统调用的简单认识与使用

文章目录 前言一、相关函数/系统调用1. signal2. kill3. abort (库函数)4. raise (库函数)5. alarm 前言 现实生活中, 存在着诸多信号, 比如红绿灯, 上下课铃声…我们在接收到信号时, 就会做出相应的动作. 对于进程也是如此的, 进程也会收到来自 OS 发出的信号, 根据信号的不同…

分布式锁2-Zookeeper分布式锁实战

Zookeeper分布式锁实战 使用curator操作Zookeeper进行实战&#xff1b; curator是什么&#xff1a;Apache Curator包含一套高级API框架和工具类&#xff0c;它 是Apache ZooKeeper 的Java 客户端库。 准备 pom文件引入curtor依赖和zookeeper依赖 <!--curator--> <…

麦克纳母轮(全向)移动机器人集群控制的Simulink/Simscape虚拟仿真平台搭建

麦克纳姆轮是一种常见的全向移动机构&#xff0c;可以使机器人在平面内任意方向平移&#xff0c;同时可以利用差速轮车的属性实现自转&#xff0c;能够在狭窄且复杂多变的环境中自由运行&#xff0c;因而被广泛应用于竞赛机器人和特殊工业机器人场景。 Ps:最新的BYD仰望U8也有一…

graspnet+Astra2相机实现部署

graspnetAstra2相机实现部署 &#x1f680; 环境配置 &#x1f680; ubuntu 20.04Astra2相机cuda 11.0.1cudnn v8.9.7python 3.8.19pytorch 1.7.0numpy 1.23.5 1. graspnet的复现 具体的复现流程可以参考这篇文章&#xff1a;Ubuntu20.04下GraspNet复现流程 这里就不再详细…

C++容器之映射(std::map)

目录 1 概述2 使用实例3 接口使用3.1 construct3.2 assigns3.3 iterators3.4 capacity3.5 access3.6 insert3.7 erase3.8 swap3.9 clear3.10 emplace3.11 emplace_hint3.12 key_comp3.13 value_comp3.14 find/count3.15 upper_bound/upper_bound/equal_range3.16 get_allocator…

数据结构和算法|堆排序系列问题(一)|堆、建堆和Top-K问题

在这里不再描述大顶堆和小顶堆的含义&#xff0c;只剖析原理层面。 主要内容来自&#xff1a;Hello算法 文章目录 1.堆的实现1.1 堆的存储与表示过程1.2 访问堆顶元素1.4元素出堆 2.⭐️建堆2.1 方法一&#xff1a;借助入堆操作实现2.2 ⭐️方法二&#xff1a;通过遍历堆化实现…

Java 多线程抢红包

问题需求 一个人在群里发了1个100元的红包&#xff0c;被分成了8个&#xff0c;群里有10个人一起来抢红包&#xff0c;有抢到的金额随机分配。 红包功能需要满足哪些具体规则呢? 1、被分的人数抢到的金额之和要等于红包金额&#xff0c;不能多也不能少。 2、每个人至少抢到1元…

Ubuntu Nerfstudio安装

https://blog.csdn.net/qq_30565883/article/details/133778529 https://blog.csdn.net/weixin_52581013/article/details/137982846 https://zhuanlan.zhihu.com/p/654394767 1. 结论 因为需要安装tiny-cuda-nn&#xff0c;然而 所以我之前的在笔记本上安装就白费了&#xf…

基于python的k-means聚类分析算法,对文本、数据等进行聚类,有轮廓系数和手肘法检验

K-means算法是一种常见的聚类算法&#xff0c;用于将数据点分成不同的组&#xff08;簇&#xff09;&#xff0c;使同一组内的数据点彼此相似&#xff0c;不同组之间的数据点相对较远。以下是K-means算法的基本工作原理和步骤&#xff1a; 工作原理&#xff1a; 初始化&#x…

QT C++ QTableWidget 演示

本文演示了 QTableWidget的初始化以及单元格值改变时响应槽函数&#xff0c;打印单元格。 并且&#xff0c;最后列不一样,是combobox &#xff0c;此列的槽函数用lambda函数。 在QT6.2.4 MSVC2019 调试通过。 1.界面效果 2.头文件 #ifndef MAINWINDOW_H #define MAINWINDOW…

使用API有效率地管理Dynadot域名,进行域名邮箱的默认邮件转发设置

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

【四数之和】python,排序+双指针

四层循环&#xff1f;&#xff08;doge) 和【三数之和】题目很类似 class Solution:def fourSum(self, nums: List[int], target: int) -> List[List[int]]:nums.sort()#a,b,c,d四个数&#xff0c;先固定两个数&#xff0c;那就是双指针问题了&#xff0c;令ba1&#xff…