Linux安装MySQL数据库系统

1、MySQL的编译安装。

1.1、准备工作

(1)为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用以RPM方式安装的mysql-server、mysql软件包,否则建议将其卸载。

[root@localhost ~]# rpm -q mysql-server mysql
未安装软件包 mysql-server 
未安装软件包 mysql 

安装光盘自带的ncurses-devel包

[root@localhost ~]# rpm -ivh /mnt/Packages/ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm 

(2)MySQL 5.X系列版本需要cmake编译安装,所以先安装cmake包 

[root@localhost mysql]# tar zxf cmake-2.8.6.tar.gz 
[root@localhost mysql]# cd cmake-2.8.6/
[root@localhost cmake-2.8.6]# ./configure 
[root@localhost cmake-2.8.6]# gmake 
[root@localhost cmake-2.8.6]# gmake install

1.2、源码编译安装

1)创建运行用户

        为了加强数据库服务的权限控制,建议使用专门的运行用户,不需要登录系统,可以不创建宿主文件夹。

[root@localhost ~]# groupadd mysql  //创建组账户
[root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql 

2)解包

        将下载的mysql源码包解包,释放到/usr/src目录下,并切换到展开后的源码目录

[root@localhost ~]# cd mysql/
[root@localhost mysql]# tar zxf mysql-5.6.36.tar.gz -C /usr/src

 3)配置

-DCMAKE_INSTALL_PREFIX:指定将MySQL数据库程序安装到某目录下,如目录/usr / local/mysql。
-DSYSCONFDIR:指定初始化参数文件目录。
-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf-8。
-DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci是适用于utf-8字符集的通用规则。
-DWITH_EXTRACHARSETS:指定额外支持的其他字符集编码。

[root@localhost ~]# cd /usr/src/mysql-5.6.36/
[root@localhost mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

 4)编译并安装

[root@localhost mysql-5.6.36]# make
[root@localhost mysql-5.6.36]# make install

1.3、安装后的其他调整

1)对数据库目录进行权限设置

[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql
//以递归方式设置目录的宿主和属组为mysql

2)建立配置文件

        CentOS 7系统下默认支持MairiaDB数据库,因此系统默认的/etc/my.cnf配置文件中是MariaDB的配置文件。而在MySQL源码目录中的support-files文件夹下,提供了MySQL数据库默认的样本配置文件my-default.cnf文件,在启动MySQL数据库服务之前,需要先将原有的my.cnf文件替换为MySQL提供的配置文件内容

[root@localhost ~]# rm -rf /etc/my.cnf
//将原先etc文件夹下的my.cnf文件删除

[root@localhost ~]# cd /usr/local/mysql/
//切换到mysql的安装目录

[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
//复制MySQL数据库默认样本配置文件到/etc目录下,并命名为my.cnf

修改my.cnf配置文件中的内容

[client]
default-character-set=utf8

[mysqld]
character_set_server=utf8

3)初始化数据库 

        为了能够正常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数存放目录等

[root@localhost ~]# cd /usr/src/mysql-5.6.36/
[root@localhost mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

4)设置环境变量

        为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量

[root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.6.36]# . /etc/profile  //立即生效

[root@localhost mysql-5.6.36]# echo $PATH  //查看
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

1.4、添加系统服务

        若希望添加mysqld系统服务,以便通过systemctl进行管理,可以直接使用源码包中提供的事务脚本。找到support-files文件夹下的mysql.server脚本文件,将其复制到/usr/local/mysql/bin/目录下,并改名为mysqld.sh,然后创建mysql系统服务的配置文件/usr/lib/systemd/system/mysqld.service,将其添加为mysqld系统服务。

[root@localhost mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[root@localhost mysql-5.6.36]# chmod -x /usr/local/mysql/bin/mysqld.sh

[root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service

[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql

Type=forking
PIDFile=/usr/local/mysql/data/yang.pid
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop

[Install]
WantedBy=multi-user.target

此时就可以使用systemctl工具来控制MySQL数据库服务了

[root@yang ~]# systemctl start mysqld
[root@yang ~]# systemctl status mysqld 
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since 二 2023-12-12 16:57:27 CST; 8s ago
  Process: 10250 ExecStart=/usr/local/mysql/bin/mysqld.sh start (code=exited, status=0/SUCCESS)
 Main PID: 10379 (mysqld)

MySQL服务器默认通过TCP3306端口提供服务,通过编辑/etc/my.cnf配置文件中[mysqld]配置段的"port = 3306"行,可以更改监听端口

[root@yang ~]# netstat -anpt | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      10379/mysqld  

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

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

相关文章

关系型数据库-SQLite介绍

优点: 1>sqlite占用的内存和cpu资源较少 2>源代码开源,完全免费 3>检索速度上十几兆、几十兆的数据库sqlite很快,但是上G的时候最慢 4>管理简单,几乎无需管理。灵巧、快速和可靠性高 5>功能简…

【产品设计】软件系统三基座之一:权限管理

不同的员工在公司享有不同的权限,用户可以访问而且只能访问自己被授权的资源。那么,权限管理功能要如何设计呢? 软件系统三基座包含:权限管理、组织架构、用户管理。 何为基座,即是有了这些基础,任一相关的…

边缘计算系统设计与实践

随着科技的飞速发展,物联网和人工智能两大领域的不断突破,我们看到了一种新型的计算模型——边缘计算的崛起。这种计算模型在处理大规模数据、实现实时响应和降低延迟需求方面,展现出了巨大的潜力。本文将深入探讨边缘计算系统的设计原理和实…

13、RockerMQ消息类型之广播与集群消息

RocketMq中提供两种消费模式:集群模式和广播模式。 集群模式 集群模式表示同一个消息会被同一个消费组中的消费者消费一次,消息被负载均衡分配到同一个消费者上的多个实例上。 还有另外一种平均的算法是AllocateMessageQueueAveragelyByCircle&#xff…

windows下docker环境安装

开启硬件虚拟化技术 win10中开启 Hyper-V Win10 下是否开启硬件虚拟化技术,在控制面板,启用 window 功能,找到 Hyper-V 选项,点勾选确认。如图: Windows 11 家庭中文版新增 Hyper-V选项 注意以下的解决方案来自win1…

带你手把手 解读 firejail 沙盒源码(0.9.72版本)目录和组件 (一)

文章目录 关于firejail 的介绍src 目录每个文件夹(组件)的意义文件目录树 关于firejail 的介绍 Firejail 是一个用于 Linux 系统的安全工具,它通过创建轻量级的沙箱环境来运行应用程序。这种沙箱环境将应用程序与系统其余部分隔离&#xff0…

openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【5】 添加osd存储节点

接上篇 openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【1】离线部署 准备基础环境-CSDN博客 openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【2】离线部署 podman配置registries 部署registry私服 准备离线镜像-CSDN博客 openEuler 20.03 (LTS-SP2…

Python手撕kmeans源码

参考了两篇文章 K-Means及K-Means算法Python源码实现-CSDN博客 使用K-means算法进行聚类分析_kmeans聚类分析结果怎么看-CSDN博客 # 定义kmeans类 from copy import deepcopy from sklearn.datasets import make_blobs import numpy as np import matplotlib.pyplot as pltc…

如何充分准备面试,迅速融入团队并在工作中取得卓越成就

首先,关于如何筹备面试,首先需要对所申请公司与职位进行深入的调查了解,并依据可能提出的面试问题预先准备相应的答案,并提前调试面试所需的仪器设备。同时,也要注重自身形象的塑造。更为关键的是 1. 在计算机领域的面…

redis-学习笔记(Jedis)

自定义的 Redis 客户端 咱们可以实现编写出一个自定义的 Redis 客户端 因为 Redis 公开了自己使用的自定义协议 ---- RESP 协议清楚了, 那么通信数据格式就清除了, 就能完成各层次之间的数据传输, 就能开发服务器和客户端 RESP — Redis 的 序列化 协议 特点: 简单好实现快读进…

ETLCloud的应用策略——实时数据处理是关键

一、ETLCloud是什么? ETLCloud又称数据集成(DataOps),是RestCloud旗下的一款数据仓库管理工具,通过自动化数据转换和集成来实现企业内部和外部数据的无缝对接,从而帮助企业快速获取准确的数据信息&#xff…

活动预告 | 微盟技术沙龙 - Elasticsearch 在微盟的实践 12/21/2023

微盟技术沙龙 「微盟技术沙龙」是由微盟研发中心发起并联合各方小伙伴为开发者举办的系列技术沙龙,从用户,产品,技术等方面与开发者进行交流。 微盟技术沙龙关注开发者在实际应用中遇到的问题。提供最真实的干货,以技术会友&…

【SpringBoot】从入门到精通的快速开发指南

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《SpringBoot》。🎯🎯 &…

[MySQL]SQL优化之sql语句优化

🌈键盘敲烂,年薪30万🌈 目录 一、索引优化 回顾: 📕索引分类: 📕索引失效: 📕设计原则: 📕SQL性能分析 二、SQL优化 语句优化 &#x1f4d…

Gorm 的关联查询

背景介绍 gorm 与 mybatis-plus 、hibernate 等 ORM 框架一样,为了应对查询场景居多的现象,支持原生 sql 和 api 两种方式读数据库。 gorm 原生 sql 参见:https://gorm.io/docs/sql_builder.html。 gorm 提供的 api 支持关联插入、关联查询…

Jmeter入门

一、下载jmeter 官网下载 下载之后解压,在目录/bin下面找到jmeter.bat双击之后即可启动Jmeter。 二、使用 如下左图,选择语言为中文,可以修改测试计划的名称。如下右图,添加线程组 添加线程组 添加http请求 路径传参方式 …

Linux——MySQL数据库系统

一、 MySQL的编译安装 1、准备工作 (1)为了避免发生端口冲突,程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用以Rpm方式安装的mysql-server、mysql软件包,否则建议将其卸载 [rootlocalhost ~]…

mars3d加载arcgis发布的服务,⽀持4523坐标

问题 1.从这个服务地址加载,具体在哪⾥去转坐标呢? 加个 usePreCachedTilesIfAvailable:false 参数即可 坐标系为4490的arcgis影像服务图层,配置后瓦片加载不出来,没报错 甚至可以跳转 没有看出问题,或者测…

RK3568驱动指南|第八篇 设备树插件-第75章ConfigFS的核心数据结构

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

神由之星加入元宇宙产业委员会共谋数字发展新篇章

近年来,元宇宙产业呈现出飞速发展的趋势,成为全球范围内备受瞩目的新兴行业。在这个充满机遇与挑战的时代,常州神由之星数字信息产业发展有限公司凭借敏锐的洞察力和卓越的数字产品,迅速抓住元宇宙的发展势头,大力发展元宇宙业务,成为该领域内一颗冉冉升起的新星。 神由之星荣膺…