Linux高级管理--安装MySQL数据库系统
MySQL服务基础
MySQL.是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使 用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySOL项目由MySQL AB公司进行开发,发布和支持,之后历经Sun 公司收购MySOL AB公司,Oracle公司收购Sun公司 的过程,目前MySQL项目由Oracle公司负责运营和维护. 本节将介绍MySOL的编译安装过程,服务控制方法,以及如何使用客户端工具访问MySQL数据库。
MySQL编译安装
为了确保MySQL数据库功能的完整性、可定制性,本小节将采用源代码编译的方式安装MySOL 数据库系统,MySQL5.X系列版本的使用最为广泛,该版本的稳定性,兼容性都不错,这里将以 mysql-5.6.36.tar.gz为例,其官方站点为http://www.mysql.com/.
1.准备工作
(1)为了避免发生端口冲突,程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有 使用以RPM方式安装的mysql-server、mysql软件包,否则建议将其卸载,再下载安装。
[root@lgcllc ~]# rpm -q mysql-server mysql
未安装软件包 mysql-server
未安装软件包 mysql [root@lgcllc ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@lgcllc ~]# rpm -ivh /mnt/Packages/ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
(2)MySQL5.X系列版本需要cmake编译安装,所以先安装cmake包。
[root@lgcllc ~]# rz -E
rz waiting to receive.
[root@lgcllc ~]# ls
cmake-2.8.6.tar.gz 挂载解包安装cmake包
[root@lgcllc ~]# tar zxf cmake-2.8.6.tar.gz
[root@lgcllc ~]# cd cmake-2.8.6/
[root@lgcllc cmake-2.8.6]# ./configure //此过程需要等待时间
[root@lgcllc cmake-2.8.6]# gmake && gmake install //此过程需要等待时间
2.源码编译及安装
(1)创建运行用户
为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql.此用户不需要直接登录 到系统,可以不创建宿主文件夹。
[root@lgcllc ~]# groupadd mysql //添加组账号mysql
[root@lgcllc ~]# useradd -M -s /sbin/nologin mysql -g mysql
(2)解包
将下载的mysql 源码包解压,释放到/usr/src目录下,并切换到展开后的源码目录。
[root@lgcllc ~]# rz -E
rz waiting to receive.
[root@lgcllc ~]# ls
cmake-2.8.6.tar.gz mysql-5.6.36.tar.gz[root@lgcllc ~]# tar zxf mysql-5.6.36.tar.gz -C /usr/src
[root@lgcllc ~]# cd /usr/src/mysql-5.6.36/
(3)配置
在内容丰富,结构庞大的企业网站平台中,可能会用到多种字符集的网页,相应地数据库系统 也应该支持不同的字符集编码.在配置过程中,可以将默认使用的字符集设置为utf-8.并添加其他 字符集的支持.
[root@lgcllc 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
//此过程需要等待时间
上述配置命令中,各选项的含义如下。
-DCMAKE_INSTALL_PREFIX:指定将MySOL数据库程序安装到某目录下,如目录/usr/local/ mysql.
-DSYSCONFDIR:指定初始化参数文件目录。
-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf-8.
-DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是适用于utf-8 字符集的通用规则。
-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。
(4)编译并安装
[root@lgcllc mysql-5.6.36]# make //此过程需要等待时间
[root@lgcllc mysql-5.6.36]# make install //此过程需要等待时间
3.安装后的其他调整
(1)对数据库目录进行权限设置
[root@lgcllc ~]# chown -R mysql:mysql /usr/local/mysql
(2)建立配置文件
CentOS 7系统下默认支持MariaDB数据库.因此系统默认的/etc/my.cnf配置文件中是MariaDB 的配置文件.而在MySOL源码目录中的support-files文件夹下,提供了MySOL数据库默认的样本配 置文件my一default.cnf文件,在启动MySQL数据库服务之前,需要先将原有的my.cnf 文件替换为 MySQl提供的配置文件内容。
[root@lgcllc ~]# cd /usr/src/mysql-5.6.36/
[root@lgcllc mysql-5.6.36]# rm -rf /etc/my.cnf //将原来etc文件夹下的my.cnf文件删除
[root@lgcllc mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
[root@lgcllc mysql-5.6.36]# vim /etc/my.cnf //在my.cnf配置文件添加如下代码[client]
default-character-set=utf8[mysqld]
character_set_server=utf8
(3)初始化数据库
为了能够正常使用MySOL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_ install_db, 指定数据存放目录等。
[root@lgcllc 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@lgcllc mysql-5.6.36]# echo $PATH //查看一下
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin[root@lgcllc mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@lgcllc mysql-5.6.36]# . /etc/profile //立即生效[root@lgcllc mysql-5.6.36]# echo $PATH //再查看一下
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
4.添加系统服务
若希望添加mysqld系统服务,以便通过systemctl进行管理,可以直接使用源码包中提供的服务 脚本。找到support-files文件夹下的mysql.server脚本文件,将其复制到/usr/local/mysql/bin/目录 下.并改名为 mysqld.sh.然后创建 mysql系统服务的配置文件/usr/lib/systemd/system/ mysqld.service,将其添加为mysqld系统服务。
[root@lgcllc mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[root@lgcllc mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh
[root@lgcllc mysql-5.6.36]# 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/lgcllc.pid //指定PID文件位置,默认为"主机名.pid"
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop[Install]
WantedBy=multi-user.target
这样,以后就可以使用systemctl 工具来控制MySOL数据库服务了。例如,若要启动mysqld 服 务,并查看其运行状态,可以执行以下操作。
[root@lgcllc ~]# systemctl start mysqld
[root@lgcllc ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.[root@lgcllc ~]# systemctl status mysqld //查看mysqld状态
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since 三 2023-12-13 00:50:29 CST; 7min agoMain PID: 9453 (mysqld)CGroup: /system.slice/mysqld.service├─9330 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/lgcllc....└─9453 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/my...12月 13 00:50:28 lgcllc systemd[1]: Starting MySQL Server...
12月 13 00:50:29 lgcllc systemd[1]: mysqld.service: Supervising process 9453 which is not our child. We'll most likely not ... exits.
12月 13 00:50:29 lgcllc systemd[1]: Started MySQL Server.
12月 13 00:55:26 lgcllc systemd[1]: mysqld.service: Supervising process 9453 which is not our child. We'll most likely not ... exits.
Hint: Some lines were ellipsized, use -l to show in full.
MySOL 服务器默认通过TCP 3306端口提供服务。
通过编辑/etc/my.cnf配置文件中[mysqld]配置段的 “port=3306”行,可以更改监听端口。
[root@lgcllc ~]# netstat -anpt | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 9453/mysqld
相关文章:
Linux高级管理--安装MySQL数据库系统
MySQL服务基础 MySQL.是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使 用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySOL项目由MySQL AB公司进行开发,发布和支持,之后…...
团建策划信息展示服务预约小程序效果如何
团建是中大型企业商家每年举办的员工活动,其形式多样化、具备全部参与的娱乐性。但在实际策划流程及内容时,部分公司便会难以入手,术业有专攻,这个时候团建策划公司便会发挥效果。 如拓展训练、露营、运动会、体育竞技等往往更具…...
一个Redis实例最多能存放多少keys
程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …...
K8S(四)—pod详解
目录 pod介绍Pod的概念:Pod的特性:Pod的配置:Pod的控制:示例 YAML 文件: pod启动流程问题 两种方式启动镜像的升级和回滚更新 Deployment:回滚检查 Deployment 历史版本回滚到之前的修订版本缩放 Deploymen…...
shiro Filter加载和执行 源码解析
一、背景 在使用若依框架(前后端不分离包含shiro安全框架)时,发现作者添加了验证码、登录帐号控制等自定义过滤器,于是对自定的过滤器加载和执行流程产生疑问。下面以验证码过滤器为例,对源码解析。注意类之间的继承关…...
IDEA上传jar包到Maven
mvn install:install-file //固定格式,maven的语法 -Dfilealibaba-sdk-1.0.0.jar //这里填写包的路径,因为我们是在当前目录所以只需要输入包名即可 -DgroupIdcom.qiehua.csdn //这里填写包的groupId,之后作为pom.xml中引用的gr…...
JavaScript——基本语法
1.定义变量: 变量类型 变量名 变量值 var关键字声明变量 es6版本以上 var 可写可不写 <script>// 定义变量:变量类型 变量名 变量值 var关键字声明变量 es6版本以上 var 可写可不写var num 2;</script>2.条件控制 <script>var …...
一款最近很火的开源低代码平台
低代码平台近年来获得大量融资的原因是多方面的。首先,低代码平台代表了软件开发领域的一个重要趋势,即通过简化编程过程来降低技术门槛,使非专业开发者也能构建应用程序。这为那些希望加速数字化转型的企业提供了新的可能性,因此…...
vue之代理配置devServer(vue.config.js)片段
关于vue.config.js的部分配置解析:首先看下面一段配置 devServer: { open: process.platform darwin,//true or false (true则启动项目自动打开系统自带浏览器) host: 0.0.0.0, // 配置devServer服务监听的地址 比如:想让局域网…...
CTD测试流程
连接 连接17Plus,用usb转232线,db9公针2、3分别接Data I/O的2、3。DB9的5接Data I/O的1。尼龙塞子打开状态。不用闭合。 软件连接 打开SeaTermAF V2,注意打开前先把串口插上,否则软件读不到串口。如果读不到,就在插…...
面试经典150题(15-19)
leetcode 150道题 计划花两个月时候刷完,今天(第七天)完成了5道(15-19)150: 今天这些都是我之前做过的,还有就是今天的全都是模拟过程。。所以做的还算快。 15(13. 罗马数字转整数) 题目描述&a…...
Linux下的网络服务
一般来说,各种操作系统在网络方面的性能比较是这样的顺序BSD>Linux>Win NT>Win 9X, 由此说来,Linux的网络功能仅次于UNIX,而强于Win NT和其它的视窗系列产品,对于Win2000我还不能评价太多,因为不是很熟。 Lin…...
制造业对于IT软硬件监控和摄像头故障监控的需求
制造业对于生产线的自动化和智能化需求较高,IT监控运维管理软件在制造业的应用也日益普及。监控易为制造业提供了一系列定制化的解决方案,助力企业实现生产线的智能化和高效化。 随着制造业的数字化转型和智能化升级,IT运维管理软件的需求也在…...
idea一些报错
java: 非法字符: \ufeff 使用IDEA修改文件编码 在IDEA右下角,将编码改为GBK,再转为UTF-8,重新启动项目。具体步骤如下: 在IDEA右下角找到UTF-8字样的编码格式设计项,点击选择第一项GBK,然后Convert…...
【Java系列】详解多线程(二)——Thread类及常见方法(上篇)
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一…...
Android Dialog 弹出时,隐藏 navigation bar
1、概述 一些场合,要求界面是全屏的,然而在全屏界面下,弹出dialog 又会导致虚拟按键栏重新弹出来,也是比较难受的。(而且查了非常多方法都是不能完美的解决这个问题,要么是压根不能用,要么是会闪一下虚拟栏…...
LeetCode(Hot100)——1:两数之和
方法1:暴力求解 利用两次for循环来处理, 外循环确定一个数字, 利用内循环不断求和来判断是否两数之和为target,来进行求解。 public class LeetCode1 {Test//测试方法public void test() {int [] nums{2,7,11,15};int target9;/…...
【Qt】报错error:undefined reference to `vtable for Consumer‘的解决方法
1. 问题原因 在创建完程序后,点击构建,显示编译错误。 错误问题如下: error: undefined reference to vtable在编译输出中查看显示如下: error:undefined reference to vtable for custom2. 原因分析 这个错误通常是因为 C 的虚函数表&am…...
【linux系统】用户功能与权限详细总结
前言 菜某的笔记总结,有错误还请指正。 linux用户的概念与root用户 这么理解:一台电脑有多个操作者,每个操作者只能无限制操作自己文件夹中的东西,其他地方的操作需要给与相应权限才能操作。 root用户:就是最高级的…...
ELK简单介绍二
学习目标 能够部署kibana并连接elasticsearch集群能够通过kibana查看elasticsearch索引信息知道用filebeat收集日志相对于logstash的优点能够安装filebeat能够使用filebeat收集日志并传输给logstash kibana kibana介绍 Kibana是一个开源的可视化平台,可以为ElasticSearch集群…...
Verilog数值转换:数字设计工程师必须掌握的底层规则与工程实践
1. 项目概述:为什么Verilog数值转换是数字设计的基石在数字电路设计和FPGA开发中,Verilog是我们描述硬件行为的主要语言。很多刚入行的朋友,包括我当年,都曾以为写Verilog就是写“另一种编程语言”,把C语言或Python的习…...
告别全屏地球!用Cesium.js在地图上只显示一个县(附完整代码)
用Cesium.js实现区域聚焦:打造专属行政区划三维地图 在WebGIS开发中,我们经常遇到需要将三维地球的显示范围限定在特定行政区划内的需求。无论是为了突出展示某个城市的发展规划,还是为了制作县域级别的专题地图,区域聚焦技术都能…...
NotebookLM问答功能深度解析:如何用3步配置让AI精准理解你的PDF/网页文档?
更多请点击: https://intelliparadigm.com 第一章:NotebookLM问答功能深度解析:如何用3步配置让AI精准理解你的PDF/网页文档? NotebookLM 是 Google 推出的面向研究者与知识工作者的实验性 AI 工具,其核心能力在于基于…...
5G NR(新空口)物理层设计解析
5G NR(新空口)物理层设计解析 在无线通信技术的演进过程中,5G NR(新空口)作为第五代移动通信技术的核心组成部分,其物理层设计承载着提升数据传输速率、降低时延、增强连接密度等多重目标。本文将围绕5G NR…...
从集合运算到代码实战:一文搞懂Python中Jaccard相似度的5种计算姿势(附性能对比)
从集合运算到代码实战:一文搞懂Python中Jaccard相似度的5种计算姿势(附性能对比) 在数据科学和机器学习领域,集合相似度计算是一个基础但至关重要的任务。想象一下这样的场景:你需要比较数百万用户的兴趣标签ÿ…...
2026在校大学生进入财会行业学数据分析的价值
一、数据分析在财会行业的重要性数据分析已成为财会行业的核心技能之一,能够帮助从业者优化财务决策、提升审计效率、识别风险并支持战略规划。掌握数据分析能力的财会人员更具竞争力,尤其在数字化转型背景下,企业更青睐具备数据思维的财务人…...
3大核心功能解密:HS2-HF_Patch如何让Honey Select 2游戏体验焕然一新
3大核心功能解密:HS2-HF_Patch如何让Honey Select 2游戏体验焕然一新 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 如果你正在玩Honey Select 2却…...
3步解决网盘下载限速难题:一站式直链解析工具实战指南
3步解决网盘下载限速难题:一站式直链解析工具实战指南 【免费下载链接】netdisk-fast-download 聚合多种主流网盘的直链解析下载服务, 一键解析下载,已支持夸克网盘/uc网盘/蓝奏云/蓝奏优享/小飞机盘/123云盘等. 支持文件夹分享解析. 体验地址: https://…...
5步解锁显卡隐藏性能:NVIDIA Profile Inspector全面指南
5步解锁显卡隐藏性能:NVIDIA Profile Inspector全面指南 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 想要让显卡发挥100%性能潜力吗?NVIDIA Profile Inspector作为一款专业的…...
告别暴力枚举:用‘换根DP’思想5步拆解GDCPC L题‘启航者’(附O(n)实现代码)
从暴力枚举到换根DP:5步拆解树上路径极值问题 在算法竞赛中,树形结构上的动态规划(DP)问题一直是考察重点,而"换根DP"作为一种高效解决树上路径相关问题的技巧,能帮助我们将O(n)的暴力枚举优化到…...
