MySQL学习Day15——MySQL安装与使用

一、Linux下的MySQL的安装与使用:

卸载MySQL:

1.关闭当前MySQL服务:systemctl stop mysql.service

2.查看当前mysql安装状况:rpm -qa | grep -i mysql

3.卸载上述命令查询出的已安装的程序:yum remove mysql-xxx mysql-xxx mysql-xxxx

4.删除mysql相关文件:

(1)查找相关文件:find / -name mysql

(2)删除上述命令查找出的相关文件:rm -rf xxx

5.删除my.cnf配置文件:rm -rf /etc/my.cnf

二、安装MySQL:

1.MySQL的3大版本:

(1)MySQL Community Server社区版本:开源免费,自由下载,但不提供官方支持,适用于大部分普通用户。

(2)MySQL Enterprise Edition企业版本:需付费,不能在线下载。提供了更多的功能和完善的技术支持,更适合于对数据库的功能和可靠性要求较高的客户

(3)MySQL Cluster集群版:开源免费,用于架构集群服务器,可以将几个MySQL Server封装成为一个Server,需要在社区版或企业版的基础上使用

2.下载MySQL指定版本

保留的文件:

(1)mysql-community-common-8.0.25-1.e17.x86_64.rpm

(2)mysql-community-client-plugins-8.0.25-1.e17.x86_64.rpm

(3)mysql-community-libs-8.0.25-1.el7.x86_64.rpm

(4)mysql-community-client-8.0.25-1.e17.x86_64.rpm

(5)mysql-community-server-8.0.25-1.el7.x86_64.rpm

3.CentOS7下检查MySQL依赖:

(1)检查/tmp临时目录权限:chmod -R 777 /tmp

(2)安装前检查依赖:rpm -qa|grep libaio;rpm -qa|grep net-tools;

4.安装过程:

在MySQL的安装文件目录下依次执行:

(1)rpm -ivh mysql-community-common-8.0.25-1.e17.x86_64.rpm

(2)rpm -ivh mysql-community-client-plugins-8.0.25-1.e17.x86_64.rpm

(3)rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm

(4)rpm -ivh mysql-community-client-8.0.25-1.e17.x86_64.rpm

(5)rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm

执行如下命令查看MySQL版本:mysql --version

服务初始化:mysql --initialize --user-mysql

查看密码:cat /var/log/mysqld.log

启动MySQL服务:systemctl start mysqld

设置开机自启动:system enable mysqld

三、字符集相关操作:

1.修改MySQL5.7字符集:

在MySQL8.0之前,默认字符集为latin1。utf8字符集指向的是utf8mb3,网站开发人员在数据库设计时往往会将编码修改为utf8字符集。如果未修改则会出现乱码的问题。从MySQL8.0开始,数据库的默认编码变为utf8mb4,从而避免上述的乱码问题。

查看默认使用的字符集:show variables like '%char%';

修改字符集:vim /etc/my.cnf;在文件的最后添加character_set_server = utf8;

2.已有数据库/数据表的字符集变更

alter database/table 数据库名/数据表名 character set 'utf8';

3.各个级别的字符集:

(1)服务器级别字符集

(2)数据库级别字符集:如果创建数据库未指明数据库级别的字符集时则会使用服务器级别的字符集和比较规则作为数据库的字符集和比较规则

(3)表级别:如果创建数据表未指明数据表级别的字符集时则会使用当前数据库级别的字符集和比较规则作为数据表的字符集和比较规则

(4)列级别:如果创建数据表中的字段未指明列级别的字符集时则会使用当前数据表级别的字符集和比较规则作为当前列级别的字符集和比较规则

变量名称对应含义
character_set_server服务器级别的字符集
character_set_database当前数据库的字符集
character_set_client服务器解码请求时使用的字符集
character_set_connection服务器处理请求时会把字符串从character_set_client转变为character_set_connection
character_set_results服务器向客户端返回数据时使用的字符集

4.请求到响应过程中字符集的变化

(1)客户端发送请求所使用的字符集:一般情况下客户端所使用的字符集和当前操作系统的字符集一致,不同的操作系统使用的字符集可能不一样

(2)服务器接收到客户端发送来的请求实际上是一串二进制的字节,它会认为这串字节采用的字符集是character_set_client,然后把这串字节转换为character_set_connection字符集编码的字符。

(3)根据表中对应字段的字符集查找相应的记录,character_set_connection转换为表中对应字段的字符集

(4)将查询结果从具体的列使用的字符集转换为character_set_results

(5)使用操作系统的字符集解码响应的字节串

五、SQL大小写规范:

1.Windows和Linux平台的区别:

在SQL中,关键字和函数名是不区分大小写的,不过Windows系统默认大小写不敏感,Linux大小写敏感。可通过查看变量lower_case_table_names判断是否区分大小写,其中:

(1).lower_case_table_names = 0表示大小写敏感

(2).lower_case_table_names = 1表示大小写不敏感,创建的表和数据库都是以小写形式放在磁盘上,对于sql语句都是转换为小写对表和数据库进行查找

(3).lower_case_table_names = 2表示创建的表和数据库依据语句上的格式存放,凡是查找都是转换为小写进行。

MySQL在LInux下的数据库名、表名、列名的大小写规则:

(1)数据库名、表名、表的别名、变量名都是严格区分大小写的

(2)关键字、函数名在SQL中不区分大小写

(3)列名与列的别名在所有情况下都是忽略大小写的

SQL编写建议:

(1)关键字和函数名称全部大写

(2)数据库名、表名、表别名、字段名、字段别名等全部小写

(3)SQL语句必须以分号结尾

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

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

相关文章

NSSCTF Round#18 RE WP 完整复现

1. GenshinWishSimulator 恶搞原神抽卡模拟器 看到软件的界面,大致有三种思路: 修改石头数量一直抽,如果概率正常肯定能抽到(但是估计设置的概率是0)在源码里找flag的数据把抽卡概率改成100%直接抽出来 Unity逆向&am…

React 的调度系统 Scheduler

原文地址1 原文地址2 其中startTime是任务开始的时间,默认是-1,任务开始时将任务开始时间赋值给了startTime, 这里意思是判断这个任务执行时间是否超过5ms(写死的)。若超过,则要交出。

软件风险分类整理

软件项目风险分类整理 1.需求分析 2.软件设计 3.编码和单元测试 4.集成和测试 5.验收和维护 6.团队管理 7.成本管理 8.组织管理

掌握Go并发:Go语言并发编程深度解析

🏷️个人主页:鼠鼠我捏,要死了捏的主页 🏷️系列专栏:Golang全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&…

问题:内存时序参数 CASLatency 是() #学习方法#微信#微信

问题:内存时序参数 CASLatency 是() A.行地址控制器延迟时间 B.列地址至行地址延迟时间 C.列地址控制器预充电时间 D.列动态时间 参考答案如图所示

vivim复习

vi/vim常用命令 vi&vim常用命令 set nu 显示行号 gg 跳转到文件开头 / 向后搜索 ? 向前搜索 n 查找下一处N 查找上一处 | 光标所在行行首L 屏幕所显示的底行{ 段首} 段尾- 前一行行首 后一行行首 ( 句首 ) 下一句首 $ 行末 M 屏…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第三天-ARM Linux ADC和触摸屏开发 (物联技术666)

链接:https://pan.baidu.com/s/1V0E9IHSoLbpiWJsncmFgdA?pwd1688 提取码:1688 教学内容: 1、ADC S3C2440的A/D转换器包含一个8通道的模拟输入转换器,可以将模拟输入信号转换成10位数字编码。 在A/D转换时钟频率为2.5MHz时&…

第六篇【传奇开心果系列】Python微项目技术点案例示例:庖丁解牛tkinter.ttk库gui界面编程

传奇开心果微博系列 系列微博目录Python微项目技术点案例示例系列 微博目录前言一、主窗口和子窗口创建和切换,以员工信息管理系统示例代码二、主窗口添加有菜单项图标的菜单栏、工具栏和右键菜单示例代码三、使用sqlite3数据库增删改查管理员工信息示例代码四、在主…

公需课考试怎么搜题找答案? #学习方法#学习方法

这些软件以其强大的搜索引擎和智能化的算法,为广大大学生提供了便捷、高效的解题方式。下面,让我们一起来了解几款备受大学生欢迎的搜题软件吧! 1.粉鹿搜题 这是一个公众号 在线搜题刷题平台,支持语言、文字、拍照多种搜索方式…

Elasticsearch:特定领域的生成式 AI - 预训练、微调和 RAG

作者:来自 Elastic Steve Dodson 有多种策略可以将特定领域的知识添加到大型语言模型 (LLM) 中,并且作为积极研究领域的一部分,正在研究更多方法。 对特定领域数据集进行预训练和微调等方法使 LLMs 能够推理并生成特定领域语言。 然而&#…

Java迭代器详解,看这一篇就够了

文章目录 🚩Java 迭代器详解 📚迭代器的定义 📒认识Iterator ✏️类结构图 ✒️Iterable接口 🖍️Iterator接口 📃Iterator接口的方法 📙迭代器的使用 🏷️使用迭代器遍历集合 🔖Ite…

B3657 [语言月赛202209] 公园门票

题目描述 小 A 一家人一起来逛公园,门票价目表如下: 小 A 家里共有 x 个成人,y 个儿童,请问至少需要花费多少钱购买门票。 输入格式 共一行,包含两个数字 x 和 y,表示小 A 家里共有 x 名成人&#xff0c…

元宇宙专题:元宇宙概念娱乐应用场景案例研究报告 - 体验驱动篇

今天分享的是元宇宙系列深度研究报告:《元宇宙专题:元宇宙概念娱乐应用场景案例研究报告 - 体验驱动篇》。 (报告出品方:艾瑞咨询) 报告共计:51页 避免刻舟求剑地探索元宇宙概念产品 对于任何一个宏大而…

【vscode】在vscode中如何导入自定义包

只需要额外添加这两条语句即可: import os,sys sys.path.append("../..") 需要注意的是,ipynb 文件打开的工作目录是文件本身的路径,而 py 文件打开的工作路径是 vscode 打开的路径。 相比较而言 pycharm 中创建好项目之后并不…

[N-144]基于微信小程序在线订餐系统

开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、ElementUI、 Vant Weapp 服务端技术:springbootmybatisredis 本系统分微信小程序和…

2024年【T电梯修理】报名考试及T电梯修理考试报名

题库来源:安全生产模拟考试一点通公众号小程序 2024年【T电梯修理】报名考试及T电梯修理考试报名,包含T电梯修理报名考试答案和解析及T电梯修理考试报名练习。安全生产模拟考试一点通结合国家T电梯修理考试最新大纲及T电梯修理考试真题汇总,…

人力资源智能化管理项目(day08:云存储)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/humanResourceIntelligentManagementProject 存储桶列表 :登录 - 腾讯云 API密钥管理:登录 - 腾讯云 上传图片-创建腾讯云存储桶 存储桶名称:intelligentmanagement-1306913843 地…

随机跳题挑战6—P5177

题目传送门 思维难度:蓝 代码难度:红 这题思维很毒,logn都过不了 题意简述: 求: 思路: 对两个数i,j不妨设i>j,令hi^j,则j最高位不能为i的最高位,否…

YOLO | YOLO-World论文详解

腾讯出的热气腾腾的论文YOLO-World来啦~ 论文:2024.2.2v2_Real-Time Open-Vocabulary Object Detection 代码:AILab-CVC/YOLO-World: Real-Time Open-Vocabulary Object Detection (github.com) Demo:YOLO-World (yoloworld.cc) 论文详解 简要总结 YOL…

WebSocketServer方法里注入不了其他类

请直接看原文: WebSocketServer无法注入其他对象的问题 - 知乎 (zhihu.com) WebSocket服务无法使用自动注入解决方法_websocket sever不可以直接注入吧-CSDN博客 ------------------------------------------------------------------------------------------------------…