Mysql数据库管理与优化
文章平均质量分 73
Mysql数据库一些基础和管理技巧
程序猿John
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
服务端字符过滤 与 SQL PDO防注入
关键点是这2个SQL的区别.其中第二步由于前台传入特殊字符单引号(')及#,在数据库中#为语句注释部分,则后续SQL语句不会被执行,可直接跳过我们的密码验证逻辑。username还可以是跳过验证。原创 2025-04-30 12:08:55 · 374 阅读 · 0 评论 -
浅析Mysql外键
此处创建2个表 分别是 `super_order` 和 `super_member` , 可以看到 mid 是 super_menber的外键。由于mid建立了外键约束 ,所以super_order 在插入数据的时候 , mid 必须是主表(super_member)中存在ID , 否则就会报错。外键是两表或多表之间建立一个关系,我们将这种关系叫做外键关系。表与表之间是存在关系的,这种我们叫做表关系,一般使用外键去维护。前者是 隐式内连接查询 , 后者是 显示内连接查询。原创 2025-04-23 09:12:54 · 357 阅读 · 0 评论 -
Mysql 读写分离(3)之 schema.xml基本配置
当前配置只考虑 转发规则,不考虑分库和分表那些规则方案1 :该方案是balance是1的情况 readHost 负责全部读取 , writehost 负责写入方案2:如果dataHost节点的balance属性 改为2 ,则所有读操作都随机的在 writeHost、 readhost 上分发。方案3:在方案1的基础上,修改一下,万一主服务器挂了,从服务器继续负责读和写mycat管理端,可以看到 3台主机。原创 2025-04-22 11:01:47 · 997 阅读 · 0 评论 -
Mysql读写分离(2)-中间件mycat和实践方案
配置好第一篇的主从复制后, 还没有做到真正的读和写分离我们还需要一个中间件,把mysql的写操作和读操作分开。事实上 读写分离的类型有两种,一种是 基于程序代码内部实现,另一种是 基于中间代理层实现基于程序代码内部实现在代码中根据select,insert进行路由分类,这类方法也是目前生产环境应用最广泛的,优点是性能好,因为在程序代码中已经将读写的数据源拆分至两个,所以不需要额外的MySQL proxy解析SQL报文,在进行路由至不同数据库节点。缺点是通常该架构较复杂,运维成本相对较高。原创 2025-04-16 22:33:35 · 1125 阅读 · 0 评论 -
Mysql忘记密码操作与mysql的远程登陆授权
首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。原创 2025-04-05 23:12:44 · 277 阅读 · 0 评论 -
Mysql explain中列的解析
ref:这个连接类型只有在查询使用了不是惟一或主键的键或者是这些类型的部分(比如,利用最左边前缀)时发生。Using index: 列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候。eq_ref:在连接中,MYSQL在查询时,从前面的表中,对每一个记录的联合都从表中读取一个记录,它在查询使用了索引为主键或惟一键的全部时使用。:查询可以利用的索引,如果没有任何索引可以使用,就会显示成null,这项对内容的优化时索引的调整非常重要。原创 2025-04-05 23:04:52 · 411 阅读 · 0 评论 -
Mysql慢查询设置 和 建立索引
很明显,这里情况是比较糟糕的,没有使用到任何索引,没有可以使用的索引,而且基本上是全表扫描 rows=245056,差不多整个表都扫描了一遍,如果数据量大了,真是不敢想象啊。现在情况已经比较好了,使用了刚刚建立的索引,而且只扫描了104行 ,type是ref ,不是最糟糕的all ,速度也快了不少。但是很明显这个 还用到一个user_id的字段 ,你一定会想到再帮user_id再建一个索引,可以,但是这不是一个最佳的方案。索引创建成功了,我们再来explain一下。修改后重启动mysql。原创 2025-04-05 23:03:23 · 370 阅读 · 0 评论 -
lamp 单独编译 mysql的pdo模块进去
使用 vi 打开你机器的 php.ini 文件,添加一段代码“extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so”,加载 pdo_mysql.so 文件。--with-php-config=/usr/local/php/bin/php-config 指定安装 PHP 的时候的配置。--with-pdo-MySQL=/usr/local/mysql/ 指定 MySQL 数据库的安装目录位置。原创 2025-04-03 16:13:46 · 453 阅读 · 0 评论
分享