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=mysqlType=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 ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)Active: active (running) since 二 2023-12-12 16:57:27 CST; 8s agoProcess: 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  

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

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

相关文章

微信社群机器人开发

简要描述: 删除朋友圈 请求URL: http://域名地址/deleteSns 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId…

蚂蚁集团20篇论文入选AI顶会NeurlPS,7成论文聚焦生成式AI

人工智能新浪潮如火如荼,中国互联网企业奋力逐浪并行。 当地时间12月10日,为期六天的全球AI顶级会议NeurlPS在美国路易斯安那州新奥尔良市举办。NeurlPS披露的数据显示,本届会议共有12343篇有效论文投稿,接收率仅为26.1%。蚂蚁集…

FastAPI之响应模型

前言 响应模型我认为最主要的作用就是在自动化文档的显示时,可以直接给查看文档的小伙伴显示返回的数据格式。对于后端开发的伙伴来说,其编码的实际意义不大,但是为了可以不用再额外的提供文档,我们只需要添加一个 response_mod…

单片双向马达驱动芯片D6208的芯片描述

D6208 是一块单片双向马达驱动电路,它使用TTL电平的逻辑信号就能控制卡式录音机和其它电子设备中的双向马达。该电路由一个逻辑部分和一个功率输出部分组成。逻辑部分控制马达正、反转向及制动,功率输出部分根据逻辑控制能提供100mA(典型值&a…

[PyTorch][chapter 6][李宏毅深度学习][Logistic Regression]

前言: logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。 逻辑回归根据给定的自变量数据集来估计事件的发生概率,由于结果是一个概率&#xf…

【docker 】 安装docker(centOS7)

官网 docker官网 github源码 官网 在CentOS上安装Docker引擎 官网 在Debian上安装Docker引擎 官网 在 Fedora上安装Docker引擎 官网 在ubuntu上安装Docker引擎 官网 在RHEL (s390x)上安装Docker引擎 官网 在SLES上安装Docker引擎 最完善的资料都在官网。 卸载旧版本 …

异地现场工控设备,如何实现远程配置、调试?

南京某企业专注于工业物联领域,在相关项目中往往会在各个点位部署基于Linux系统的中控主机,实现各类物联设备信息的采集、汇总。但是,由于各点位分散多地,且数量达到了上百个,虽然中控主机具备4G物联网接入能力&#x…

Vue3-07-样式绑定-style绑定的写法总结

style 绑定的方式 1.html中直接一个属性一个属性的写; 2.直接绑定一个对象; 3.绑定一个包含多个样式对象的数组。style绑定样式的注意点 推荐使用 驼峰命名 规则来编写样式的名称,如 : fontSize:12px; 如果使用 中线分割的规则时…

医美行业-上游厂商的营销规模分析与测算

一、医美行业整体发展趋势:轻医美逐步占领市场,占比逐年增加,规模增速远超手术类医美 从2019年开始医美行业扩张速度放缓,2020年受疫情影响中国美容用户的医美行为有所减少,增速放缓至9.9%,随着疫情的好转及…

计算机组成原理-堆栈寻址

文章目录 堆栈寻址软堆栈vs硬堆栈小结 堆栈寻址 栈结构后进后出 软堆栈vs硬堆栈 硬堆栈用寄存器实现 软堆栈就是用内存实现 小结 入栈和出栈即栈顶元素位置的变化不同

【计算机网络】滑动窗口 流量控制 拥塞控制 概念概述

参考资料:计算机网络第八版-视频课程

LabVIEW实时建模检测癌细胞的异常

LabVIEW实时建模检测癌细胞的异常 癌症是全球健康的主要挑战之一,每年导致许多人死亡。世界卫生组织指出,不健康的生活方式和日益严重的环境污染是癌症发生的主要原因之一。癌症的发生通常与基因突变有关,这些突变导致细胞失去正常的增长和分…

java--Map集合的遍历方式

1.Map集合的遍历方式之一:需要用的Map的如下方法 2.Map集合的遍历方式二:键值对 3.Map集合的遍历方式三:Lambda 需要用的Map的如下方法

mybatis-plus使用达梦数据库处理枚举类型报错的问题

使用mybatis-plus连接达梦数据库&#xff0c;枚举类型无法读取 枚举类&#xff1a; 实体&#xff1a; 数据库字段&#xff1a; mybatis-plus枚举包配置&#xff1a; 调用查询方法&#xff1a; List<QualityRuleTemplate> qualityRuleTemplates ruleTemplateServic…

可视化监控云平台/智能监控EasyCVR如何使用脚本创建ramdisk挂载并在ramdisk中临时运行

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防管理视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存…

Datawhale 12月组队学习 leetcode基础 day1 枚举

这是一个新的专栏&#xff0c;主要是一些算法的基础&#xff0c;对想要刷leedcode的同学会有一定的帮助&#xff0c;如果在算法学习中遇到了问题&#xff0c;也可以直接评论或者私信博主&#xff0c;一定倾囊相助 进入正题&#xff0c;今天咱们要说的枚举算法&#xff0c;这是个…

高压功率放大器的作用是什么

高压功率放大器是一种电子设备&#xff0c;其作用是将低电平的信号增强到高功率水平&#xff0c;以驱动要求高电压和电流的负载。它在各种应用中起着至关重要的作用&#xff0c;包括无线通信、医疗仪器、雷达系统、工业控制等领域。 高压功率放大器在无线通信中具有重要意义。在…

[common c/c++] 为什么使用 semaphore 的生产者消费者模型需要两个信号量

正文&#xff1a; 信号量没有触及上限则阻塞post的原语&#xff0c;同时信号量除了系统限制的信号量最大值之外并没有接口可以用来设置上限。因此在一个信号量场景下&#xff0c;生产者在 post 信号的时候是没有束缚的&#xff0c;如果不控制生产量的话&#xff0c;会导致系统…

小红书产品评测怎么做?商家必看

以小红书为代表的社交电商平台&#xff0c;产品评测成为了消费者决策的重要参考。一篇高质量的产品评测&#xff0c;不仅能够帮助消费者全面了解产品也能提升商家品牌的知名度和口碑。因此&#xff0c;小红书产品评测的重要性不言而喻。 本文旨在为商家提供一份详尽的小红书产…

基于Qt的Live2D模型显示以及控制

基本说明 Live2D官方提供有控制Live2D模型的SDK,而且还提供了一个基于OpenGL的C项目Example,我们可以基于该项目改成Qt的项目&#xff0c;做一个桌面端的Live2D桌宠程序。 官方例子 经过改造效果如下图所示。 官方项目配置 下载官方提供的SDK例程,&#xff0c;选择Cubism …