编译安装MySQL服务(LAMP2)

news2024/12/28 21:48:37

目录

1.初始化设置,将安装mysql 所需软件包传到/opt目录下

(1)关闭防火墙

(2)上传软件包到/opt目录

2.安装环境依赖包

3.配置软件模块

4.编译及安装

5.创建mysql用户

6.修改mysql 配置文件

7.更改mysql安装目录和配置文件的属主属组

8.设置路径环境变量

9.初始化数据库

10.添加mysqld系统服务

11.修改mysql 的登录密码

12.授权远程登录


1.初始化设置,将安装mysql 所需软件包传到/opt目录下

(1)关闭防火墙

systemctl stop firewalld.service           #关闭防火墙
setenforce 0                               #关闭selinux防火墙

(2)上传软件包到/opt目录

2.安装环境依赖包

yum -y install gcc gcc-c++ ncurses-devel ncurses bison cmake   #安装软件

  • gcc                                     #C语言的编译器
  • gcc-c++                             #C++的编译器
  • ncurses                             #字符终端下图形互动功能的动态库
  • ncurses-devel                   #ncurses开发包
  • bison                                 #语法分析器
  • cmake                                #mysql需要用cmake编译安装

3.配置软件模块

cd /opt                                              #切换到/opt目录
tar zxvf mysql-boost-5.7.44.tar.gz                   #解压压缩包
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1                                               #配置软件模块
  • -DCMAKE_INSTALL_PREFIX=/usr/local/mysql                #指定mysql的安装路径
  • -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock                                                                                         #指定mysql进程监听套接字文件(数据库连接文件)的存储路径
  • -DSYSCONFDIR=/etc \                                                    #指定配置文件的存储路径
  • -DSYSTEMD_PID_DIR=/usr/local/mysql \                       #指定进程文件的存储路径
  • -DDEFAULT_CHARSET=utf8  \                                      #指定默认使用的字符集编码,如 utf8
  • -DDEFAULT_COLLATION=utf8_general_ci \                 #指定默认使用的字符集校对规则
  • -DWITH_EXTRA_CHARSETS=all \                                #指定支持其他字符集编码
  • -DWITH_INNOBASE_STORAGE_ENGINE=1 \             #安装INNOBASE存储引擎
  • -DWITH_ARCHIVE_STORAGE_ENGINE=1 \               #安装ARCHIVE存储引擎 
  • -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \          #安装BLACKHOLE存储引擎 
  • -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \       #安装FEDERATED存储引擎 
  • -DMYSQL_DATADIR=/usr/local/mysql/data \                  #指定数据库文件的存储路径
  • -DWITH_BOOST=/usr/local/boost \                                                                                                                     #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
  • -DWITH_SYSTEMD=1                                                    #生成便于systemctl管理的文件
     

注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

4.编译及安装

make                          #make -j 3  表示开3核同时进行编译
make install

5.创建mysql用户

useradd -M -s /sbin/nologin mysql         #创建mysql用户

6.修改mysql 配置文件

vim /etc/my.cnf                          #修改文件

删除里面的所有配置重新配置

[client]                                                                   #客户端设置

port = 3306

socket = /usr/local/mysql/mysql.sock            

[mysql]                                                                  #服务端设置

port = 3306

socket = /usr/local/mysql/mysql.sock

auto-rehash                                                          #开启自动补全功能

[mysqld]                                                                #服务全局设置

user = mysql                                                         #设置管理用户

basedir=/usr/local/mysql                                      #指定数据库的安装目录

datadir=/usr/local/mysql/data                              #指定数据库文件的存储路径

port = 3306                                                             #指定端口

character-set-server=utf8                                     #设置服务器字符集编码格式为utf8

pid-file = /usr/local/mysql/mysqld.pid                 #指定pid 进程文件路径

socket=/usr/local/mysql/mysql.sock                  #指定数据库连接文件

bind-address = 0.0.0.0                                          #设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开

skip-name-resolve                                                #禁止域名解析,包括主机名,所以授权的时候要使用 IP 地址

max_connections=4096                                       #设置mysql的最大连接数

default-storage-engine=INNODB                         #指定默认存储引擎

max_allowed_packet=32M                                   #设置在网络传输中一次消息传输量的最大值。系统默认值为 1MB,最大值是 1GB,必须设置 1024 的倍数。

server-id = 1                                                           #指定服务ID号

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

sql_mode常用值如下

  • NO_ENGINE_SUBSTITUTION                                                                                                  如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
  • STRICT_TRANS_TABLES                                                                                                      在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制
  • NO_AUTO_CREATE_USER                                                                                                    禁止GRANT创建密码为空的用户
  • NO_AUTO_VALUE_ON_ZERO                                                                                          mysql中的自增长列可以从0开始。默认情况下自增长列是从1开始的,如果你插入值为0的数据会报错
  • NO_ZERO_IN_DATE                                                                                                                不允许日期和月份为零
  • NO_ZERO_DATE                                                                                                                        mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告
  • ERROR_FOR_DIVISION_BY_ZERO                                                                                      在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。默认情况下数据被零除时MySQL返回NULL
  • PIPES_AS_CONCAT                                                                                                                将"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似
  • ANSI_QUOTES                                                                                                                        启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

7.更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

8.设置路径环境变量

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
                                          #在/etc/profile文件追加内容
source /etc/profile                       #生效配置文件

9.初始化数据库

cd /usr/local/mysql/bin/                      #切换目录

./mysqld \  
--initialize-insecure \                       #生成初始化密码为空
--user=mysql \                                #指定管理用户
--basedir=/usr/local/mysql \                  #指定数据库的安装目录
--datadir=/usr/local/mysql/data               #指定数据库文件的存储路径

10.添加mysqld系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/	
                                           	#用于systemctl服务管理
systemctl daemon-reload                     #刷新识别     
systemctl start mysqld.service              #开启服务
systemctl enable mysqld                     #开机自启动
netstat -anpt | grep 3306                   #查看端口,服务是否开启

11.修改mysql 的登录密码

mysqladmin -u root password "abc123" 	     #给root账号设置密码为abc123,原始密码为空

12.授权远程登录

mysql -u root -p                     #授权root用户

grant all privileges on *.* to 'root'@'%' identified by 'abc123';   

                                                 #使用的密码是abc123,并对所有数据库和所有表有操作权限

show databases;                    #查看当前已有的数据库

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

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

相关文章

AB实验人群定向HTE模型1 - Causal Tree

背景 论文给出基于决策树估计实验对不同用户的不同影响。并提出Honest,variance Penalty算法旨在改进CART在tree growth过程中的过拟合问题。 我们举个例子:科研人员想衡量一种新的降血压药对病人的效果,发现服药的患者有些血压降低但有些血…

APP逆向之调试的开启

很基础的一个功能设置,大佬轻喷。 背景 在开始进行对APP逆向分析的时候,需要对APP打开调试模式。 打开调试的模式有多种方式可以通过直接改包方式也可以通过借助第三方工具进行打开调试模式。 下面就整理下这个打开调试模式的一些方式。 改包修改模…

vue+element-ui时间级联动态表单,新增行,删除行,表单验证

需求背景: 需要实现配置一种时间去执行定时任务,可能是每年一次,每月一次,每周一次,每天一次四种情况,最少配置一条,最多配置五条。年,月,周,日,时分秒是级联关系。点击提交,整体表单校验。 效果图 代码实现,具体看里面的注释 完整代码 <template><e…

elastich运维

Elastichsearch是一种高度可扩展的开源全文搜索和分析引擎&#xff0c;可以用来实现快速、高效的数据检索。 集群规划与部署&#xff1a;首先需要根据业务需求规划Elastichsearch集群的节点数量和角色&#xff08;如主节点、副本节点、协调节点等&#xff09;。在部署时&#x…

深度学习创新点不大但有效果,可以发论文吗?

深度学习中创新点比较小&#xff0c;但有效果&#xff0c;可以发论文吗&#xff1f;当然可以发&#xff0c;但如果想让编辑和审稿人眼前一亮&#xff0c;投中更高区位的论文&#xff0c;写作永远都是重要的。 那么怎样“讲故事”才能让论文更有吸引力&#xff1f;我总结了三点…

QT7_视频知识点笔记_67_项目练习(页面以及对话框的切换,自定义数据类型,DB数据库类的自定义及使用)

视频项目&#xff1a;7----汽车销售管理系统&#xff08;登录&#xff0c;品牌车管理&#xff0c;新车入库&#xff0c;销售统计图表&#xff09;-----项目视频没有&#xff0c;代码也不全&#xff0c;更改项目练习&#xff1a;学生信息管理系统。 学生信息管理系统&#xff1…

智能除螨—wtn6040-8s语音芯片方案引领除螨仪新时代

语音螨仪开发背景&#xff1a; 随着物联网技术的快速发展&#xff0c;除螨仪作为家庭清洁的重要工具&#xff0c;其智能化、人性化的设计成为提升市场竞争力的关键。置入语音芯片的除螨仪&#xff0c;通过开机提示、工作状态反馈、操作指引、故障提醒等内容。用户可以更加直观…

文献解读-群体基因组第二期|《中国人群中PAX2新生突变的检测及表型分析:一项单中心研究》

关键词&#xff1a;应用遗传流行病学&#xff1b;群体测序&#xff1b;群体基因组&#xff1b;基因组变异检测&#xff1b; 文献简介 标题&#xff08;英文&#xff09;&#xff1a;Detection of De Novo PAX2 Variants and Phenotypes in Chinese Population: A Single-Cente…

AI智能分析技术与安防视频融合当前面临的困难与挑战

人工智能与安防视频的融合为现代安全领域带来了革命性的变化&#xff0c;提高了安全管理水平、降低了管理成本并为用户提供了更加便捷和高效的服务。随着技术的不断进步和应用场景的不断拓展&#xff0c;未来人工智能与安防的融合将展现出更加广阔的发展前景。然而&#xff0c;…

Pi 母公司将开发情感 AI 商业机器人;Meta 科学家:Sora 不是视频生成唯一方向丨RTE 开发者日报 Vol.214

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

不用写采集规则的网页采集软件

传统的网页采集工具采集网页数据&#xff0c;需要查看和研究网页代码&#xff0c;编写复杂繁琐的采集规则&#xff0c;对于有技术基础的人&#xff0c;配置一个采集规则也要花费不少时间&#xff0c;更何况对于不懂技术的普通用户来说&#xff0c;简直是一项不太可能完成的任务…

开源表单流程设计器有哪几个突出的优势特点?

当前&#xff0c;传统的表单制作已经无法满足现在企业的发展需求了。想要实现高效率发展&#xff0c;需要引进先进的低代码技术平台、开源表单流程设计器等优秀软件平台助力发展。它们具有可视化操作界面、灵活好操作、易维护、效率高等诸多优势特点&#xff0c;在推动企业实现…

如何使用 .htaccess 删除文件扩展名

本周有一个客户&#xff0c;购买Hostease的虚拟主机&#xff0c;询问我们的在线客服&#xff0c;如何使用 .htaccess 删除文件扩展名&#xff1f;我们为用户提供相关教程&#xff0c;用户很快解决了遇到的问题。在此&#xff0c;我们分享这个操作教程&#xff0c;希望可以对您有…

Docker化Spring Boot3应用:从镜像构建到部署

随着容器化技术的发展&#xff0c;越来越多的应用采用了容器化部署的方式。容器化部署极大地减少了因部署环境不同带来的差异&#xff0c;实现了一次构建、随处运行的效果。此外&#xff0c;容器化还具有版本管理、快速启动、持续集成等优点。今天&#xff0c;我们将介绍如何在…

【linux】运维-基础知识-认知hahoop周边

1. HDFS HDFS&#xff08;Hadoop Distributed File System&#xff09;–Hadoop分布式文件存储系统 源自于Google的GFS论文&#xff0c;HDFS是GFS的克隆版 HDFS是Hadoop中数据存储和管理的基础 他是一个高容错的系统&#xff0c;能够自动解决硬件故障&#xff0c;eg&#xff1a…

解读 | 上海房地产政策松绑,售楼电话被“打爆”

图片来源千图网 自5月27日晚间上海发布房地产政策松绑消息以来&#xff0c;城市楼市气氛仿佛被一股暖流席卷&#xff0c;售楼电话几乎在一夜之间被“打爆”。这一次调整的政策涉及到多个方面&#xff0c;包括首套房首付比例的下调、二套房首付比例的调整、房贷利率的优惠等&am…

JAVA:Random详解

Java中的java.util.Random类用于生成伪随机数。它提供了多种方法来生成不同类型的随机数&#xff0c;包括整数、浮点数和布尔值。以下是对Random类及其主要方法的详细介绍 一、生成随机数 创建一个Random对象&#xff0c;可以使用以下两种方式&#xff1a; 无参构造函数&…

地图下钻,双击返回上一级

介绍&#xff1a; 看了好多地图下钻的案例&#xff0c;要么json文件不全胡&#xff0c;要么返回功能不全胡&#xff0c;有的返回是直接写死&#xff0c;返回到首页&#xff0c;我这个小案例是使用地理小工具的数据&#xff0c;本案例可以逐步一级一级的返回&#xff0c;地图的其…

中学生学人工智能系列:如何用AI学英语

经常有读者朋友给公众号《人工智能怎么学》留言咨询如何使用人工智能学习语文、数学、英语等科目。这些都是中学教师、中学生朋友及其家长们普遍关注的问题。仅仅使用留言回复的方式&#xff0c;不可能对这些问题做出具体和透彻的解答&#xff0c;因此本公众号近期将推出中学生…

用户流失分析:如何使用Python训练一个用户流失预测模型?

引言 在当今商业环境中&#xff0c;客户流失分析是至关重要的一环。随着市场竞争的加剧&#xff0c;企业需要更加注重保持现有客户&#xff0c;并深入了解他们的离开原因。本文探讨了用户流失分析的核心概念以及如何构建客户流失预测模型的案例。通过分析用户行为数据和交易模式…