开源数据库Mysql_DBA运维实战 (部署服务篇)

    前言❀

         1.数据库能做什么

2.数据库的由来

数据库的系统结构❀

1.数据库系统DBS

2.SQL语言(结构化查询语言)

3.数据访问技术

部署Mysql❀

1.通过rpm安装部署Mysql

2.通过源码包安装部署Mysql


前言

1.数据库能做什么

a.不论是淘宝,吃鸡,爱奇艺,抖音,快手,知乎,百度贴吧等,众所周知的服务程序

b.存储的数据,包含用户的账号,密码,级别,存款,余额,等级,购物记录,头像本地路径,视频文件路径

c.只要是信息,就一定在数据库里

2.数据库的由来

1.人工管理阶段相当于过去的账本

2.文件系统阶段相当于前段时间的excel

3.数据库系统管理阶段------MySQl


数据库的系统结构❀

1.数据库系统DBS

a.数据库管理系统(DataBase Management System, DBMS): 

SQL     (RDS关系型数据库)

ORACLE

Oracle MySQL

DB2(IBM)

SQL-server(MS)

Mysql

MariaDB

Percona server(taobao)

b.DBA:工程师  administrator

2.SQL语言(结构化查询语言)

SQL(Structured Query Language 即结构化查询语言)

a.DDL语句   数据库定义语言: 数据库,表,视图,索引,存储过程,函数,创建删除ALTER(CREATE DROP ALTER) 

b.DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE

c.DQL语句   数据库查询语言:查询数据SELECT

d.DCL语句 数据库控制语言:  例如控制用户的访问权限GRANT,REVOKE

3.数据访问技术

a.   ODBC PHP <.php>

b.   JDBC   JAVA <.jsp>

c.   ASP.NET  <c#>

版本:Mysql5.7


部署Mysql❀

Mysql官网:www.mysql.com

                     www.oracle.com

1.通过rpm安装部署Mysql

硬件:内存不能少于2G

a.首先关闭防火墙和selinux

systemctl stop  firewalld      立刻停止防火墙
systemctl disable  firewalld   开机禁用防火墙
setenforce 0                   立刻停止selinux 
开机禁用selinux
    # vim    /etc/selinux/config
        SELINUX=disabled

b.从官网下载软件包

参考:中国科学技术大学开源软件镜像USTC Open Source Software Mirrorhttp://mirrors.ustc.edu.cn/

yum install -y lrzsz #上传

rz上传到服务器上

c.安装相关的软件

[root@server-1 ~]# yum install -y net-tools.x86_64 libaio.x86_64 perl.x86_64

d.安装Mysql服务器

[root@server-1 ~]# yum install -y mysql-community*

e.启动Mysql服务器

systemctl start mysqld   //启动mysql
systemctl enable mysqld  //启用MySQL
systemctl status mysqld  //查看mysql状态

f.查询Mysql服务器默认密码

grep 'password' /var/log/mysqld.log

g.修改Mysql服务器密码

 mysqladmin -uroot -p'9M8ghQiW7Y-k' password 'QianFeng@123'

h.登录Mysql系统

 mysql -uroot -p'QianFeng@123'

i.查到默认数据库

show   databases;   #默认查询数据库

j.MySQL配置完成关机快照

2.通过源码包安装部署Mysql

源码安装特点:

源码安装
与二进制(RPM)发行版本相比,如果我们选择了通过源代码进行安装,那么在安装过程中我们能够对MySQL
所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:

a) 针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;
b) 根据不同的软件平台环境调整相关的编译参数;
c) 针对我们特定应用场景选择需要什么组件不需要什么组件;
d) 根据我们的所需要存储的数据内容选择只安装我们需要的字符集;
e) 同一台主机上面可以安装多个MySQL;
f) 等等其他一些可以根据特定应用场景所作的各种调整。

在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:
a) 对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
b) 对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;
c) 还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长;

准备编译环境:

a.准备不小于2G内存的服务器

b.编译软件

# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

c.安装Mysql

准备源码包:

# groupadd mysql
# useradd -r -g mysql -s /bin/false mysql
# tar xvf mysql-5.7.19.tar.gz
# cd mysql-5.7.19
# pwd
/root/mysql-5.7.19
# mv ../boost_1_59_0.tar.gz  .
[root@mysql3 mysql-5.7.19]# tar xf  boost_1_59_0.tar.gz       注意包的位置

配置:

[root@mysql-5.7.17 ~]# cmake . \

-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

参数详解:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   安装目录
-DSYSCONFDIR=/etc \   配置文件存放 (默认可以不安装配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data \   数据目录   错误日志文件也会在这个目录
-DINSTALL_MANDIR=/usr/share/man \     帮助文档 
-DMYSQL_TCP_PORT=3306 \     默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \  sock文件位置,用来做网络通信的,客户端连接服务器的时候用
-DDEFAULT_CHARSET=utf8 \    默认字符集。字符集的支持,可以调
-DEXTRA_CHARSETS=all \   扩展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \  支持的
-DWITH_READLINE=1 \    上下翻历史命令
-DWITH_SSL=system \    使用私钥和证书登陆(公钥)  可以加密。 适用与长连接。坏处:速度慢
-DWITH_EMBEDDED_SERVER=1 \   嵌入式数据库
-DENABLED_LOCAL_INFILE=1 \    从本地倒入数据,不是备份和恢复。
-DWITH_INNOBASE_STORAGE_ENGINE=1  默认的存储引擎,支持外键

编译安装:

#   make && make install

d.初始化

# cd /usr/local/mysql    进入安装位置
# mkdir mysql-files  
# chown -R mysql.mysql  /usr/local/mysql     注意目录名称     赋予权限
#  /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    会生产临时密码,在屏幕上。 保存临时密码。

#  /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

建立Mysql配置文件my.cnf:

备份原有的配置文件

# mv /etc/my.cnf  ~

修改配置文件

# vim /etc/my.cnf 

[root@mysql-server ~]# vim /etc/my.cnf  --如果打开文件有内容将文件中所有内容注释掉,在添加如下内容
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8

[mysqld]
port = 3306
user = mysql
basedir = /usr/local/mysql  #指定安装目录
datadir = /usr/local/mysql/data  #指定数据存放目录
socket = /tmp/mysql.sock
character_set_server = utf8



[client]
# 默认连接端口
port = 3306
# 用于本地连接的socket套接字
socket = /tmp/mysql.sock
# 编码
default-character-set = utf8

[mysqld]
# 服务端口号,默认3306
port = 3306
# mysql启动用户
user = mysql
# mysql安装根目录
basedir = /usr/local/mysql
# mysql数据文件所在位置
datadir = /usr/local/mysql/data
# 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
socket = /tmp/mysql.sock
# 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character_set_server = utf8

e.开机启动Mysql

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# chkconfig --add mysqld     添加mysql服务

# 启动mysql   systemctl enable mysqld 

chkconfig mysqld on   开机自动启动MySQL服务

service mysqld start

ps aux | grep mysqld

 修改数据库密码并登录

 show databases;         查看默认数据库即可

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

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

相关文章

挖掘Java集合:深入探索List接口与HashSet

文章目录 引言LinkedList&#xff1a;双向链表的实现构造方法LinkedList中的常用方法HashSet&#xff1a;无序且唯一的集合HashSet的实现方式LinkedHashSet&#xff1a;有序且唯一可变长度参数结论 引言 在广阔的Java编程领域中&#xff0c;集合就如同宝库&#xff0c;提供了多…

C语言 用数组名作函数参数

当用数组名作函数参数时&#xff0c;如果形参数组中各元素的值发生变化&#xff0c;实参数组元素的值随之变化。 1.数组元素做实参的情况&#xff1a; 如果已经定义一个函数&#xff0c;其原型为 void swap(int x,int y);假设函数的作用是将两个形参&#xff08;x,y&#xf…

ArcGIS制作带蒙版的遥感影像地图

这次文章我们来介绍一下&#xff0c;如何通过一个系统的步骤完成ArcGIS制作带蒙版的遥感影像地图。 主要的步骤包括&#xff1a; 1 添加行政区划数据 2 导出兴趣去乡镇矢量范围 3 添加遥感影像底图 4 制作蒙版 5 利用自动完成面制作蒙版 6 标注乡镇带晕渲文字 7 …

01《Detecting Software Attacks on Embedded IoT Devices》随笔

2023.08.05 今天读的是一篇博士论文 论文传送门&#xff1a;Detecting Software Attacks on Embedded IoT Devices 看了很长时间&#xff0c;发现有一百多页&#xff0c;没看完&#xff0c;没看到怎么实现的。 摘要 联网设备的增加使得嵌入式设备成为各种网络攻击的诱人目标&…

Cloud Studio实战——热门视频Top100爬虫应用开发

最近Cloud Studio非常火&#xff0c;我也去试了一下&#xff0c;感觉真的非常方便&#xff01;我就以Python爬取B站各区排名前一百的视频&#xff0c;并作可视化来给大家分享一下Cloud Studio&#xff01;应用链接&#xff1a;Cloud Studio实战——B站热门视频Top100爬虫应用开…

lwip不同的socket分别作为监听和客户端连接

在LWIP中&#xff0c;一个网络设备&#xff08;如以太网卡&#xff09;可以创建多个socket&#xff0c;用于处理不同的网络连接。一般&#xff0c;你可以创建一个socket用于监听&#xff08;listen&#xff09;连接&#xff0c;另一个socket用于主动发起&#xff08;connect&am…

华为OD机试(含B卷)真题2023 算法分类版,58道20个算法分类,如果距离机考时间不多了,就看这个吧,稳稳的

目录 一、数据结构1、线性表2、优先队列3、滑动窗口4、二叉树5、并查集6、栈 二、算法1、基础算法2、字符串3、图4、动态规划5、数学 三、漫画算法2&#xff1a;小灰的算法进阶参与方式 很多小伙伴问我&#xff0c;华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如…

jenkins使用gitlab标签发布

关于jenkins git parameter使用gitlab标签发布和分支发布的用法 手动配置的我就不说了&#xff0c;点点点就行&#xff0c;主要是说一下在pipeline里如何使用 通过分支拉取gitlab仓库代码 pipeline {agent anyenvironment {}parameters {gitParameter(branch: , branchFilte…

ASP.NET Core学习路线图

说明 1. 先决条件 - [C#](https://www.pluralsight.com/paths/csharp) - [Entity Framework](https://www.pluralsight.com/search?qentity%20framework%20core) - [ASP.NET Core](https://www.pluralsight.com/search?qasp.net%20core) - SQL基础知识 2. 通用开发技能 -…

vue3+vite配置多入口文件

1.修改vite.config.ts 文件&#xff1a; 2.在src目录底下建相应的html文件和对应的ts入口文件和vue文件&#xff0c;如下图&#xff1a; npm run dev运行后本地访问&#xff1a; http://127.0.0.1:5173/home_index.htmlnpm run build打包后的结构如图&#xff1a;

Android Studio翻译插件

进入File->Settings->Plugins界面&#xff0c;搜索Translation&#xff0c;选择这个 重启AS后&#xff0c;选中目标单词右键点击Translate即可&#xff1a;

官宣了!Nank南卡耳机签约世界游泳冠军傅园慧!共塑国货好品质

骨传导开放式耳机行业领导品牌Nank南卡今日宣布&#xff0c;将邀请世界游泳冠军傅园慧为品牌形象代言人&#xff0c;Nank南卡对品牌推广大使的选择并非跟随流量的潮向&#xff0c;而是甄选与自身价值观更为相符的游泳冠军。赛场上的傅园慧所体现的不怕输、不放弃&#xff0c;坚…

[LitCTF 2023]Http pro max plus

打开环境后提示说&#xff0c;只允许在本地访问&#xff0c;本地访问&#xff0c;还是想到了XFF字段 好家伙的&#xff0c;直接被嘲讽&#xff0c;还是了解太少了&#xff0c;都不知道还有没有其他方式可以控制ip地址信息 经过查看wp&#xff0c;得知一种新的方式 Client-IP …

【MySQL】基础知识(一)

MySQL基础知识&#xff08;一&#xff09; 文章目录 MySQL基础知识&#xff08;一&#xff09;00 MySQL安装01 数据库介绍1.1 什么是数据库1.2数据库分类 02 SQL分类03 数据库操作3.1显示数据库3.2创建数据库3.3选中数据库3.4删除数据库 04 常用数据类型4.1数值类型4.2字符串类…

用于实体对齐的联合学习实体和关系表示2019 AAAI 8.7+8.8

用于实体对齐的联合学习实体和关系表示 摘要介绍相关工作实体对齐图卷积网络 问题公式我们的方法整体架构初步实体对齐图卷积层对齐训练 近似关系表示联合实体和关系对齐 实验总结 摘要 实体对齐是在不同知识图之间集成异构知识的一种可行方法。该领域的最新发展通常采用基于嵌…

数字电路基础(MOS管)

1.PMOS和NMOS MOS晶体管的物理结构如下&#xff0c;由衬底和注入粒子的材质不同分为PMOS和NMOS。 2.CMOS CMOS由PMOS和NMOS组成&#xff0c;是一个反相器&#xff0c;其电路图如下所示。当In为1时&#xff0c;PMOS断开&#xff0c;NMOS导通&#xff0c;Out输出为0&#xff1b;…

Springboot @Validated注解详细说明

在Spring Boot中&#xff0c;Validated注解用于验证请求参数。它可以应用在Controller类或方法上 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </depen…

【工程优化问题】基于多种智能优化算法的压力容器设计问题研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Docker】docker镜像+nginx部署vue项目:

文章目录 一、文档&#xff1a;二、打包vue项目&#xff1a;三、配置nginx&#xff1a;四、配置Dockerfile&#xff1a;五、构建镜像&#xff1a;六、运行容器&#xff1a;七、最终效果&#xff1a; 一、文档&#xff1a; 【1】菜鸟教程&#xff1a;https://www.runoob.com/do…

vscode插件不能搜索安装

1 现象 vscode搜索自己的插件&#xff0c;报错&#xff1a; Error while fetching extensions. HXR failed2 原因 之前用vscode开发golang语言&#xff0c;设置了proxy代理&#xff0c;所以导致错误&#xff0c;删除即可 重启vscode 3 结果