首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏运维开发故事

    OpenStack之路(4

    对于计算节点内存小于4 GB的环境,我们建议创建m1.nano每个实例仅需要64 MB 的风格。为了测试目的,请仅将CirrOS图像用于此规格。 mykey //添加公钥,或者不用执行上一条命令,直接使用现有的公钥 验证密钥对添加 [root@controller ~]# openstack keypair list 4. 重新启动Web服务器和会话存储服务 [root@controller ~]# systemctl restart httpd.servicememcached.service 4.

    1.8K30发布于 2019-07-28
  • 来自专栏运维研习社

    MySQL多实例

    最近由于业务要求,需要在服务器添加一个mysql实例,遇到个,分享下 安装mysql不必多说了,多实例肯定是下载二进制包安装,这个网上很多教程,我就不罗嗦了 正常安装mysql实例,在解压的二进制包里面 它里面会带有一些推荐的配置文件和启动脚本,单实例mysql.server,多实例mysqld_multi.server,通过修改basedir和datadir,就可以用这两个脚本来管理mysql服务 正常情况下 读取配置文件和启动的一些原理整理如下: MySQL读取配置文件的顺序是: /etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnf 这个顺序可以通过命令来验证 /mysqld start这样的方式启动的时候,其实是使用了mysql.server这个脚本,这个脚本默认会调用mysqld_safe来启动mysqld,所以通常我们启动mysql之后查看进程的时候会发现有 接着通过分析启动脚本看下MySQL启动原理 默认的mysql的服务启动程序是mysql.server,就是我上面说得那个目录下,mysql.server程序主要是会用到两个程序和一个函数,分别是my_print_defaults

    1.6K20发布于 2020-06-15
  • 来自专栏快乐阿超

    mysql大小写

    设置了mysqld下的配置 [mysqld] lower_case_table_names = 1 lower_case_table_names的官方文档: https://dev.mysql.com/ 服务不是mysqld而是mysql,下面是ubuntu的三种重启方式 # 重启服务 service mysql restart; # 重启系统服务 systemctl restart mysql # 重启 mysql,请确认路径 /etc/init.d/mysql restart 修改后可以用这三个sql查询是否生效 select @@lower_case_table_names; +---------- 翻译过来就是说Linux或者其他类似Unix的系统,不支持设置为2[1],mysql服务端会强制使用0代替 那么这么多表名,一个一个改不是很麻烦? qrtz_triggers; 如果不知道这些表是怎么来的,可以查看这篇quartz 结束后,我们配置的lower_case_table_names = 1即可生效,可以用show tables;检查一下 好

    2.2K20编辑于 2022-08-21
  • 来自专栏Postgresql源码分析

    Mysql悲观锁测试

    mysql for update 今天遇到一个高并发悲观锁的问题,活跃连接堆积恶性循环最后DB卡死了。做下测试总结。看看这类SQL能扛多少,以后遇到问题心里也有底了。 ,`c5`) ); mysql> select * from __test_t1 limit 9; +----+--------+----+---------------------+----+--- len 4; hex 80000001; asc ;; 5: len 5; hex 99a59f01d4; asc ;; 6: len 4; hex 80000048; asc tables in use 1, locked 1 LOCK WAIT 2 lock struct(s), heap size 1136, 4 row lock(s) MySQL thread id ; asc 10NOuQ;; 4: len 4; hex 8000002a; asc *;; 5: len 5; hex 99a59f01d5; asc ;; 6: len 4;

    64020编辑于 2022-05-12
  • 来自专栏Gvoidy备份小站

    Celery 4 初体验及

    现在4版本已经步入稳定,而国内互联网的几乎都是3版本的教程。所以这里记录下4版本下的及外文解决方案的翻译记录。 win环境运行celery 4 worke Celery 是一个资金最少的项目,因此我们不支持 Microsoft Windows。请不要提出与该平台相关的任何问题。 官方在4版本移除了win平台支持,但是经过查阅,只要使用将并发模式-P改为gevent或者eventlet即可正常启动,但并不知道会有什么影响,毕竟官方已经不提供支持了,该启动方法仅适用于本地调试。 celery.Task = ContextTask return celery 成员函数实现 celery task 异步调用 由于支持方法太多bug且没有人修,celery官方在4版本 的后台任务 Flask, blueprints uses celery task and got cycle import celery 中文手册 Hack: 2 Ways to make Celery 4

    1.6K40发布于 2020-07-30
  • 来自专栏企鹅号快讯

    MySQL表设计过的

    希望我能说说我在数据库表设计时过的。那么,我们今天就来聊聊我在数据库表设计时过的,以及现在对数据库表设计的一点建议。希望能够帮助到你。 你可能觉得你不可能发生这样的错误,说出来也不怕你笑话,我就过好几次这样的,到最后发现慢SQL了,才发现自己中了这样的!!! 索引怎么加,索引重不重要,可以查看《写会MySQL索引》一文进行查看!唉,我就吃过不少没加索引或忘记添加索引的亏,记忆犹新!!! 小结 以上是我数据库设计表时躺过的,下面小结精简版本一下: 允许保存表情的表,存储格式设计为utf8mb4,避免使用utf8。 选择合适的数据类型。 上面是我数据库表设计时,遇到以后的经验之谈。有些当时还真花了不少时间来填补。记录在这里,如果能帮助到你,那就太好了!

    1.3K80发布于 2018-02-07
  • 来自专栏程序员的成长之路

    MySQL Online DDL 原理和

    导读:MySQL 的 DDL(Data Definition Language) 包括增减字段、增减索引等操作。 在 MySQL 5.6 之前,MySQL 的 DDL 操作会按照原来的表复制一份,并做相应的修改。 的具体过程如下: 按照表 A 的定义新建一个表 B 对表 A 加写锁 在表 B 上执行 DDL 指定的操作 将 A 中的数据拷贝到 B 释放 A 的写锁 删除表 A 将表 B 重命名为 A 在 2-4 因此,MySQL 5.6 增加了 Online DDL,允许在不中断数据库服务的情况下进行 DDL 操作。 用法 ? 前面提到 Online DDL 执行过程中需要获取 MDL,MDL (metadata lock) 是 MySQL 5.5 引入的表级锁,在访问一个表的时候会被自动加上,以保证读写的正确性。

    2.2K31发布于 2021-07-13
  • 来自专栏wayn的程序开发

    MySQL datetime 类型精度设置

    本文也是作者实际后结合实际案例,深入剖析 datetime 类型的精度问题,并提供解决方案和最佳实践。 1.2 四舍五入与进位问题 当插入的毫秒值超过 0.5 秒时,MySQL 会自动进位。 二、问题根源分析 2.1 MySQL 版本差异 MySQL 5.6.4 之前:datetime 类型不支持毫秒精度,插入值的小数部分会被直接丢弃或四舍五入。 (3) -- 精确到毫秒 ); 2.2 客户端工具的显示误导 某些常用的客户端工具(如 Navicat)在设计表时默认将 datetime 的精度默认设置为 0,稍不注意就会。 在跨数据库迁移(如 MySQL 到 TiDB)时,若未统一时区设置,可能导致时间解析错误。

    2.1K10编辑于 2025-05-26
  • 来自专栏码农架构

    MySQL Online DDL 原理和

    导读:MySQL 的 DDL(Data Definition Language) 包括增减字段、增减索引等操作。 在 MySQL 5.6 之前,MySQL 的 DDL 操作会按照原来的表复制一份,并做相应的修改。 的具体过程如下: 按照表 A 的定义新建一个表 B 对表 A 加写锁 在表 B 上执行 DDL 指定的操作 将 A 中的数据拷贝到 B 释放 A 的写锁 删除表 A 将表 B 重命名为 A 在 2-4 因此,MySQL 5.6 增加了 Online DDL,允许在不中断数据库服务的情况下进行 DDL 操作。 前面提到 Online DDL 执行过程中需要获取 MDL,MDL (metadata lock) 是 MySQL 5.5 引入的表级锁,在访问一个表的时候会被自动加上,以保证读写的正确性。

    1.1K30发布于 2021-07-08
  • 来自专栏blog(为什么会重名,真的醉了)

    PHP连接MySQL-总结

    文章目录 写在前面 mysqli扩展 MySQL权限 测试 写在前面 ---- 版本迭代,网上很多解决方法都失效了,在此记录一下。 扩展(可以自己打补丁 ),而是推荐使用mysqli扩展和pdo_mysql。 $link) { echo "Error: Unable to connect to MySQL." . PHP_EOL; exit; } echo "Success: A proper connection to MySQL was made! > 至此PHP就成功连接MySQL了o(* ̄▽ ̄*)o,mysqli相关用法可查官方文档。

    3.5K30发布于 2021-09-14
  • 来自专栏做数据的二号姬

    经验 | Mysql导入emoji报错

    经验 | Mysql导入emoji报错 上周遇到了中文长度的问题之后,就想起了很久之前遇到的这个问题,也是一个和长度相关的问题。 LEARN MORE 图片由360鸿图绘制 还是老规矩,周日不定期更新的系列。还是先介绍一下遇到这个问题的业务场景,因为时间比较久远了,很多细节已经想不起来了。 上周末的推送讲了,在mysql中,中文是占3个字节的。而emoji比较特殊,占4个字符。 mysql默认使用的的UTF-8只支持三个字节的存储,而一般字符是三个字节,但是emoji表情是4个字节,所以存储不了。因此,有表情的字段上就有将该字段设置为utf8mb4。 数据处理技术分享、代码分享 周三:工作效率提升工具/技巧,办公自动化等 周四:读书笔记系列,分享读书心得和要点 周五:聊聊职场,包括但不限于求职面试 周六:随缘分享,内容不确定 周日:随缘分享一些技术经验

    59820编辑于 2023-10-24
  • MySQL 索引失效的那些:从到填

    那么,MySQL 索引到底在哪些场景下会失效呢? 我结合自己过的,总结了一些典型的案例。下面就一一展开。 3 隐式类型转换这个特别隐蔽,尤其是在 字符串和数字比较 时。 4 复合索引不遵守最左前缀原则复合索引就像门禁卡,你得从第一个门开始刷,才能一路畅通。 因为 MySQL 觉得直接扫一遍比走索引还快。这种情况不是 bug,而是优化器的“聪明决定”。10 强制索引与执行计划有些时候 MySQL 的优化器并不聪明,选错了索引。 总结索引是 MySQL 提升性能的利器,但稍不注意,它就可能失效。

    36510编辑于 2025-09-06
  • 来自专栏why技术

    了,又了!

    了啊,又了啊! 这次踩到一个特别无语的常识。知道真相的那一刻,人就是整个麻掉。 他给的其中一个超链接是 Java 语言规范: https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.3 Java 语言规范表示

    63220编辑于 2022-11-01
  • 来自专栏pandacode_cn

    树莓派4B 记录

    树莓派4B产品概述 我是树莓派4代B型,相比3B+,我的处理器速度显著提升,拥有丰富的多媒体,多个内存版本和更出色的连接性,集成了连接USB 2和USB 3端口的PCIe链路以及本机连接的以太网控制器 4). 点击 WRITE 写入镜像。注意,文件夹名称含有中文可能会导致烧录失败。 3. HDMI 屏幕显示 1). 树莓派有两个 HDMI 口,但在默认情况下,只工作于靠近电源的 HDMI 口。 hdmi_drive=2 config_hdmi_boost=4 再重启动树莓派。 4. SSH连接 4.1. 通过修改SD卡内文件 加入文件SSH,即可。没有任何后缀。 5. 连接WIFI 5.1. 通过修改SD卡内文件 1). 打开boot文件 2). 我这边使用的是VNC Viewer 参考文档 Raspberry Pi 4 Model B

    1.5K10编辑于 2023-07-06
  • 来自专栏雨临Lewis的博客

    Hexo系列(4) - NexT主题记录

    CAA for example.com 错误原因:DNS 解析 CAA 记录出错 解决方式1:到域名注册商处检查是否设置了 DNS 服务器 解决方式2:咨询 DNS 服务商是否支持解析 CAA 记录 4、 错误原因:DNS 解析超时 解决方式1:到域名注册商处检查是否设置了 DNS 服务器 解决方式2:咨询 DNS 服务商是否屏蔽了 Let’s Encrypt 的解析请求 解决方式3:重新申请 解决方式4: rejectedIdentifier 错误信息:Error creating new authz :: Policy forbids issuing for name 错误原因:相关政策禁止为此域名签发证书 hexo-neat插件记录 这里补充下各种常用到的特殊字符的字符实体: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ! {% raw %}}}{% endraw %},那么就需要对这对大括号进行转义: 1 2 3 4 {% raw %} {{ something... }} {% endraw %} 如果是在引用块里,

    2K30编辑于 2022-01-11
  • 来自专栏java_joseph

    docker-mysql8.0敏感问题

    分享下docker部署mysql8.0经历 在一次项目中想用docker部署mysql8.0出现了这种问题 数据库是有这个表的,但是项目使用的时候,就出现了这样的问题,因为编码中大写,导致请求到mysql 这是docker部署mysql的一个, 这里给大家提供一个标准的docker部署mysql8.0的正确流程。 解决了大小写敏感问题 还你打我 #opt目录是Linux提供我们扩展的目录,可以存放用户需求的文件 mkdir -p /opt/datas/docker/mysql/conf mkdir -p /opt mysql/mysqld.sock default-character-set = utf8mb4 [mysqld] #pid-file = /var/run/mysqld/mysqld.pid = utf8mb4 collation_server = utf8mb4_bin secure-file-priv= NULL # Disabling symbolic-links is recommended

    1K20编辑于 2023-08-02
  • 来自专栏编程小白狼

    MySQL 中最容易的 8 个

    以下便是 MySQL 中最为常见且容易中的 8 个,了解它们能帮助我们更高效、稳定地使用这一强大的数据库系统。 一、字符编码不一致导致乱码 MySQL 的字符编码设置是个精细活儿。 在 my.cnf(Linux 下 MySQL 配置文件)或者 my.ini(Windows 环境)里,将 [mysqld] 段下的 character-set-server 设置为期望的编码(如 utf8mb4 等特殊字符),[client] 段设置 default-character-set 与之匹配,同时创建数据库(CREATE DATABASE db_name CHARACTER SET utf8mb4) 、表(CREATE TABLE table_name (col_name VARCHAR(255) CHARACTER SET utf8mb4))时也指定相同编码。 总之,在 MySQL 开发运维中,避开这些“”需要我们对数据库原理、配置细节、SQL 编写技巧深入钻研,从编码规范、性能优化、数据一致性保障多维度考量,才能让 MySQL 稳定高效支撑业务运转。

    62910编辑于 2024-12-31
  • 来自专栏码海

    这个 MySQL bug 99% 的人会!

    order by id asc limit 1 可以看到它的 possible_keys(此 SQL 可能涉及到的索引) 是 idx_uid_stat,但实际上(key)用的却是全表扫描 我们知道 MySQL 为了查看 MySQL 优化器为啥选择了全表扫描,我打开了 optimizer_trace 来一探究竟 画外音:在MySQL 5.6 及之后的版本中,我们可以使用 optimizer trace 功能查看优化器生成执行计划的整个过程 这个 bug 最早追溯到 2014 年,不少人都呼吁官方及时修正这个bug,可能是实现比较困难,直到 MySQL 5.7,8.0 都还没解决,所以在官方修复前我们要尽量避免这种写法,如果一定要用这种写法 SQL 虽然是按 id 排序的,但在 id 上作了加法这样耗时的操作(虽然只是加个无用的 0,但足以骗过优化器),优化器认为此时基于全表扫描会更耗性能,于是会选择基于成本大小的方式来选择索引 巨人的肩膀 mysql 优化器 bug http://4zsw5.cn/L1zEi 热文推荐 你管这破玩意叫 B+ 树?

    1K21发布于 2021-09-28
  • 来自专栏苏三说技术

    MySQL 中最容易的 15 个

    在我们日常工作中,可能会经常使用MySQL数据库,因为它是开源免费的,而且性能还不错。 在国内的很多公司中,经常被使用。 但我们在MySQL使用过程中,也非常容易,不信继续往下看。 今天这篇文章重点跟大家一起聊一聊使用 MySQL 的15个,希望对你会有所帮助。 使用最多的是 utf8mb4_general_ci(默认的)和 utf8mb4_bin。 下面这张图给大家列举了常见原因: 想进一步了解索引失效问题的小伙伴,可以看一下我的另一篇文章《聊聊索引失效的10种场景,太了》,里面有非常详细的介绍。 在MySQL中只保存最新的数据,历史数据可以迁移到归档库中。

    54310编辑于 2024-11-26
  • 来自专栏Android&Java技术

    JDBC访问MySQL数据库

    JDBC访问MySQL数据库 作为一个 Android 开发者,闲来无事,想着使用 JSP + Servlet 写一些简单的接口,然后通过前端调用接口,后端的数据库使用的是 MySQL。 1.安装MySQL 数据库 安装比较简单,打开 MySQL 官网,我们是个人使用,所以下载最新的(8.0)社区免费版即可。 安装过程中可能需要您设置管理员密码,默认账号为 root,安装完成后就可以启动 MySQL 服务了,Windows下的启动命令如下: 使用管理员权限打开Windows PowerShell 开启MySQL 服务: net start mysql80 关闭MySQL服务: net stop mysql80 2.连接MySQL服务 我们要创建并操作数据库首先要连接到数据库,连接数据的可视化工具比较多,如 Navicat 、 MySQL Workbench、 SQLyog 等,当然,如果你对 MySQL 的命令行比较熟练的话,也可以使用命令来进行相关操作,我个人比较喜欢使用 Navicat。

    4.3K10发布于 2020-02-27
领券