分类归档

网站开发

FWQ
网站开发
MySQL的安装与配置
本来是在学习PostgreSQL,想安装个mySQL 5.7 做一些实践比较,但发现 mysql5.7在centos 7.2上,使用 YUM 怎么也安装不上。刚开始是和MariaDB冲突(centos7.2默认自带mariaDB),使用 rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64 强制卸载后,紧接又提示: 2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit) 2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18(libmysqlclient_18)(64bit) 无奈之下,才写了这一篇安装mysql5.7的笔记。   下载地址:https://dev.mysql.com/downloads/mysql/ 官方文档:https://dev.mysql.com/doc/refman/5.7/en/,或者:http://imysql.com/mysql-refman/5.7/index.html 一、下载、解压 解压后的主要目录、文件如下; # ll /usr/local/mysql/ drwxr-xr-x…
2024-11-17 阅读全文 →
FWQ
网站开发
MySQL的特性
本文翻译自官方mysql 5.7使用手册,参考原文地址:https://dev.mysql.com/doc/refman/5.7/en/features.html 一、内部结构与可移植性 1. 使用C和C++编写 2. 使用多种不同的编译器测试 3. 可在多个不同的平台中运行,可参考:https://www.mysql.com/support/supportedplatforms/database.html   4. 在 5.5之后的版本中,可以更方便的使用 CMake编译,5.5之前的版本使用 GNU Automake、Autoconf、和 Libtool 5. 使用Purify 、Valgrind测试(这两款都是内存泄漏测试工具) 6. 独立的模块采用多层服务设计 7.充分利用内核线程的多线程设计,更简单的使用多核CPU 8. 提供事务与非事务的存储引擎 9. 索引压缩使用 B-tree…
2024-11-17 阅读全文 →
FWQ
网站开发
MySQL 5.7 的新特性
本文翻译自官方mysql 5.7使用手册,参考原文地址:https://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html 一、新增特性 1、安全提升 1.1 要求mysql.user表中plug字段不能为空,如果为空,则该用户被禁止使用。 1.2 增加密码过期策略 1.3 帐户可以加锁解锁 1.4 使用mysql_ssl_rsa_setup工具能够更容易创建使用ssl   1.5 初始化数据库时用mysqld –initialize替换以前的 mysql_install_db 2、SQL mode changes 默认启用 ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION.…
2024-11-17 阅读全文 →
FWQ
网站开发
PostgreSQL的pg_hba.conf 客户端认证
认证是数据库服务器对客户端用户身份鉴别的过程,并且确定客户端以该用户是否可以连接数据库服务器。PostgreSQL提供多种不同的客户端认证方式,而pg_hba.conf就是客户端认证的配置文件,pg_hba即PostGreSQL host-base authentication的简称。 一、语法格式 TYPE  DATABASE  USER  CIDR-ADDRESS  METHOD local      database  user  auth-method  [auth-options] host       database  user  address  auth-method  [auth-options] hostssl    database  user  address  auth-method  [auth-options] hostnossl  database …
2024-11-17 阅读全文 →
FWQ
网站开发
PostgreSQL中的系统环境变量
在学习PostgreSQL的过程中,发现PgSQL中可以设置一些系统环境变量,以及同名的数据库、同名的数据库用户,对于新手来说可能回产生一些困扰。 一、系统用户、角色、数据库 系统用户:指操作系统用户,在cat /etc/passwd中可以查看的用户。比方说超级用户 root 、执行PgSQL的用户postgre、执行mysql的用户mysql等。 角色:数据库中的用户,在psql的 shell 中可以通过 select rolname from pg_roles; 查看到的用户。 数据库:数据库名,可以通过psql -l 查看。   二、可设置的系统环境变量 PGDATABASE:默认的数据库 PGHOST:默认host PGPORT:默认port PGUSER:默认user PGDATA:默认的data目录 三、实际中的应用 # initdb #…
2024-11-17 阅读全文 →
FWQ
网站开发
电商系统商品分类删除,如何处理绑定商品?
商品分类删除时,绑定的商品处理方式 在电商系统中,商品分类对于管理和展示商品至关重要。当需要删除某个分类时,对绑定的商品进行何种处理就成为一个亟需解决的问题。 删除商品还是判断空指针跳过? 遇到的问题表明,删除商品分类后,出现了商品列表报错。针对这种情况,有两种常见的处理方法: 删除商品:删除分类后,同时删除所有绑定到该分类下的商品,以确保数据的完整性。但是需要注意,这种做法可能会导致,尤其是当某些商品同时属于多个分类时。 判断空指针跳过:删除分类后,仅更新商品与分类之间的关联,而不删除商品。这种做法可以避免数据丢失,但也需要在业务逻辑中仔细处理空指针的情况,以免出现异常。 删除分类的几种情况 除了上述两种方法,在实际开发中,对于分类删除的处理还有其他几种常见情况: 不允许删除有商品的分类:系统设置限制,当分类下存在商品时,无法将其删除。 仅允许失效而非删除:分类不可删除,只能设置为失效状态,从分类列表中隐藏,但商品仍然保留与该失效分类的关联。 删除分类后商品移至其他分类:系统预定义一个兜底分类,当分类被删除时,其下的所有商品将自动移至该兜底分类。 讨论的重要性 删除分类的操作对于电商系统的影响很大,涉及数据完整性、业务逻辑和用户体验。因此,在功能开发之前,应该与相关方充分讨论,确定删除分类后的商品处理方式,选择最符合业务需求和系统设计的方案。 以上就是电商系统商品分类删除,如何处理绑定商品?的详细内容,更多请关注米云网其它相关文章!
2024-11-14 阅读全文 →
FWQ
网站开发
在 Java 代码还是 MySQL WHERE 子句中执行运算操作更优?
在 java 代码还是 where 子句中执行运算操作? 在设计数据库查询时,会遇到一个决策:运算操作应该在 java 代码中执行还是在 mysql 的 where 子句中执行。本文将讨论此问题的最佳实践。 考虑以下场景:索引列为 age 的用户表中包含大量记录。现在需要查询所有 age 值大于特定值的用户。 在 mysql where 子句中执行运算 立即学习“”; 一种方法是直接在 where 子句中将 age 值加 1…
2024-11-14 阅读全文 →
FWQ
网站开发
MySQL 百万级数据统计性能差:count(*) 是罪魁祸首?如何优化?
提问:MYSQL 百万级数据统计性能较差 问题描述: 使用以下 SQL 语句统计 29 万条数据的表 t_order_old,执行时间长达 13.96 秒。询问这样的执行时间是否正常,以及是否存在进一步优化的可能。 解答: count(*) 的性能开销 使用 count(*) 统计大数据表时,性能往往比较低。这是因为: count(*) 会扫描整个表,导致 I/O 开销较大。 count(*) 不会利用索引,只能通过全表扫描逐行统计。 优化建议: 使用索引统计:针对需要统计的字段创建索引,然后使用 count(column) 代替 count(*),这样可以利用索引加速统计。…
2024-11-14 阅读全文 →
FWQ
网站开发
Explain 中的 Extra 字段如何判断二级索引是否消除回表操作?
如何通过 expln 判断二级索引是否消除回表操作 分析: 给定的 SQL 查询在 idx_track_source_id_created_at_len_parse_result_list 索引上使用了索引查找。要判断是否还存在回表操作,需要检查 Extra 字段。 判断标准: 如果 Extra 中包含 Using Index 或 Using Index Condition,则不需要回表。 如果 Extra 中包含 Using where 且未出现 Using…
2024-11-14 阅读全文 →
FWQ
网站开发
Docker MySQL 容器连接报错:如何解决 Sequel Ace 连接失败问题?
mac 上 容器连接报错 在使用 docker desktop 部署 mysql 服务后,使用 sequel ace 客户端连接时遇到报错,尽管服务已正常启动。 问题分析 根据问题描述,容器的端口可能未暴露,导致客户端无法连接到 mysql 服务。 解决方案 为了解决此问题,需要在启动容器时暴露 mysql 端口。可以在 docker 运行命令中添加 -p 选项,例如: docker run -d -p…
2024-11-14 阅读全文 →