Linux高级管理--安装MySQL数据库系统

news2024/12/24 3:13:24

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 Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2023-12-13 00:50:29 CST; 7min ago
 Main 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   

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

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

相关文章

基于JAVA的汽车售票网站论文

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对汽车售票信息管理混乱,出错率高,信息安全性差…

串行计时芯片D1380/D1381,2.0V~5.5V 工作电流: 2V时 与TTL 兼容,采用DIP8、SOP8封装

D1380/D1381是一个带秒、分、时、日、日期、月、年的串行时钟保持芯片,每个月多少天以及闰年能自动调节, D1380/D1381低功耗工作方式, D1380/D1381用若干寄存器存储对应信息,一个32.768kHz 的晶振校准时钟,为了使用最小弓|脚,D1380/D1381使用…

jsp+servlet+图书交流平台 有filter过滤器

在线图书推荐与交流平台 随着数字化的进展和人们对持续学习的追求,在线资源变得越来越受欢迎。对于众多读者来说,找到合适的书籍和与其他读者交流阅读体验是非常有价值的。为了满足这一需求,我们提出了一个在线图书推荐与交流平台的设计。此…

这两个管理方法 在现货白银顺势交易中会用得上

我们常说,在现货白银交易中做顺势交易,那盈利的概率会高一些。但是这并不是说做顺势交易就肯定盈利,其实顺势交易也需要投资者去进行管理的,不要以为顺势交易入场之后就万事大吉了。那投资者该如何管理呢?下面我们就来…

H5开发App应用程序的常见问题以及解决方案

Hello大家好,我是咕噜铁蛋,天冷记得添衣,ok话说回来H5开发成为了一种流行的方式来构建跨平台的移动应用程序。然而,在H5开发App应用程序的过程中,我们常常会遇到一些问题,这些问题可能涉及性能、兼容性、用…

Editing Existing PDF Files in Java

Editing Existing PDF Files in Java 1. Overview In this article, we’ll see how to edit the content of an existing PDF file in Java. First, we’ll just add new content. Then, we’ll focus on removing or replacing some pre-existing content. 2. Adding the …

基于Java SSM框架实现大学生校园兼职系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现大学生兼职系统演示 摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,大学生校园兼职系统当然也不能排除在外。大学生校园兼职系统是以实际运用为开…

低压无功补偿在分布式光伏现场中的应用

摘要:分布式光伏电站由于建设时间短、技术成熟、收益明显而发展迅速,但光伏并网引起用户功率因数异常的问题也逐渐凸显。针对分布式光伏电站接入配电网后功率因数降低的问题,本文分析了低压无功补偿装置补偿失效的原因,并提出了一…

LeetCode(57)合并两个有序链表【链表】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 合并两个有序链表 1.题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4…

centos8stream 升级 sqlite3 ,解决 SQLite 3.27 or later is required (found 3.26.0).

服务器环境是centos8stream, 默认的sqlite是 3.26 ,因此,需要升级。 sqlite官网:SQLite Download Page 1.从官网下载最新源码包 cd /opt/ wget https://www.sqlite.org/2023/sqlite-autoconf-3440200.tar.gz tar xvf sqlite-autoconf-344020…

Python内置类属性`__cmp__`属性的使用教程

概要 在Python中,__cmp__属性是一个特殊的方法,用于自定义类的实例之间的比较方式。深入了解和熟练运用这一特性,可以使自定义类更加灵活和强大。本教程将详细介绍__cmp__的基本概念、高级用法以及一些注意事项,通过丰富的示例代…

python gdal nc数据转tif 包括如何获取变量及变量属性

文章目录 1 gdal nc转换为tif2 利用netCDF4获取变量及变量属性3 进行gregorian时间类型的转换4 总结 1 gdal nc转换为tif 地理变换是从图像坐标空间(行、列)(也称为(像素、线)到地理参考坐标空间(投影或地…

21.Java程序设计-基于Springboot的校园新闻发布管理系统的设计与实现

摘要: 随着信息时代的发展,校园管理和信息传递对高效的数字化解决方案提出了更高的需求。本研究旨在设计和实现一个基于Spring Boot的校园新闻发布管理系统,以满足学校管理和用户信息获取的日益增长的需求。该系统具备新闻发布、浏览、评论等…

【rabbitMQ】声明队列和交换机

上一篇:springboot整合rabbitMQ模拟简单收发消息 https://blog.csdn.net/m0_67930426/article/details/134904766?spm1001.2014.3001.5501 相关配置环境参考上篇 springAMQP提供了几个类用来声明声明队列,交换机及其绑定关系 声明队列,…

云原生之深入解析Kubernetes的架构及特性

一、kubernetes 架构 从宏观上来看 kubernetes 的整体架构,包括 Master、Node 以及 Etcd。Master 即主节点,负责控制整个 kubernetes 集群,它包括 Api Server、Scheduler、Controller 等组成部分。它们都需要和 Etcd 进行交互以存储数据&…

vs2022番茄助手安装

资源获取: 链接:https://pan.baidu.com/s/1FphMGL692I_JfLW_vqGPYw 提取码:zkw4 安装步骤 1.确保旧版番茄助手插件完全卸载。 2.下载附件“VA_X_Setup2440_0.exe”安装文件,双击安装,Win10以上系统需要【右键-属性】…

推荐一款好用的包含表格识别的OCR网站

在当今数字化的时代,文字和表格识别已经成为了许多行业的关键技术。无论是处理大量的纸质文档,还是从网络上收集数据,OCR(光学字符识别)技术都扮演着重要的角色。然而,对于许多用户来说,OCR软件…

SpringCloud微服务 【实用篇】| Docker启示录

目录 一:Docker启示录 1. Docker启示录 2. Docker和虚拟机的区别 3. Docker架构 4. Centos7安装Docker 4.1. 卸载 4.2. 安装docker 4.3. 启动docker 4.4. 配置镜像加速 前些天突然发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽…

HarmonyOS4.0从零开始的开发教程11Video组件的使用

HarmonyOS(九)Video组件的使用 概述 在手机、平板或是智慧屏这些终端设备上,媒体功能可以算作是我们最常用的场景之一。无论是实现音频的播放、录制、采集,还是视频的播放、切换、循环,亦或是相机的预览、拍照等功能…

06_W5500_DHCP

1.DHCP协议介绍: DHCP(Dynamic Host Configuration Protocol)是一种用于自动分配IP地址和其他网络配置信息的协议。它允许网络中的设备(如计算机、手机、打印机等)在连接到网络时自动获取IP地址、子网掩码、默认网关、…