MySQL重置root密码

10.8k MySQL 发表评论
我们介绍一种无需密码的重置root密码的方式。 步骤如下: 1、打开配置文件/etc/my.cnf,在mysqld下添加一行skip-grant-tables,如下: [mysqld] #... skip-grant-tables #... 这样我们就可以免密登录MySQL了。 然后保存并退出。 2、重启MySQL 这两个命令2选1: $ sudo systemctl restart mysqld $ sudo service mysqld restart 3、终端…

MySQL查询在一张表不在另外一张表的记录

4.2k MySQL , 3评论
假设有A、B两张表。 如果查询在A表中存在,但是在B表中不存在的记录,应该如何操作? 1 示例数据 假设A表数据: +----+ | id | +----+ | 1 | | 2 | | 3 | | 4 | | 5 | +----+ B表数据: +----+------+ | id | a_id | +----+------+ | 1 | 3 | +----+------+ 其中,B表中的a_id是需要排除的A表的id。 这里我们要排除A表中id为3的记录,实…

MySQL Explain 解析

一、语法 explain < table_name > 例如: explain select * from t3 where id=3952602; 二、explain输出解释 +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ | id | select_type | table | type  | possible_keys     | key     | key_len | ref   | rows | Extra | +---…

Docker LNMP环境搭建

102.9k PHP教程 , , , 327评论
本文介绍如何使用Docker容器,快速部署LNMP环境。 最终完成的环境我们称为:DNMP(即 Docker + Nginx + MySQL + PHP)。 最终实现一键部署LNMP环境的目的,该环境特点: 完全开源 支持多版本PHP切换(PHP5.4、PHP5.6、PHP7.2...) 支持绑定任意多个域名 支持HTTPS和HTTP/2 PHP源代码位于host中 MySQL data位于host中 所有配置文件可在hos…

MySQL批量修改

mysql更新语句很简单,更新一条数据的某个字段,一般这样写:  UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里…

PHP正则表达式获取SQL语句中的表名

有一个SQL语句集合,里面可能有select、select ... left join、update、delete、insert。 要从这语句集合中获取到所有的表名,该如何做呢? 代码如下, <?php class SqlLog { // SQL语句 private static $sql = []; // UPDATE 正则条件 private static $updateExpression = '/UPDATE[\\s`]+?(\\w+)[\\s`]+?/is'; // INSERT 正则条件 …

MySQL查看实时执行的SQL语句

16.2k MySQL, PHP教程 发表评论
MySQL默认不能实时查看执行的SQL语句,因为这会消耗一定的资源。 要开启这个功能,稍微配置一下,打开这个LOG记录就可以了。 1 查看LOG功能 首先,查看是否已经开启实时SQL语句记录。 mysql> SHOW VARIABLES LIKE "general_log%"; 如下general_log值为OFF说明没有开启: +------------------+----------------------------------+ | …

MySQL批量修改表前缀

4.6k PHP教程 , 发表评论
本方法通过命令的方式实现修改表前缀。 假设有数据库 shop,原本表前缀位sp_,现在要全部改成shop_。 需要两个步骤: 第一步 生成替换命令 SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO shop_', substring(table_name, 4),';') FROM information_schema.tables where table_schema='shop' and table_name LIKE 'sp_%'; 其中…

MySQL插入默认字段值方法大全

3.0k PHP教程 发表评论
在数据库表设计的时候,经常需要设定字段的默认值,在插入数据时会出现以下的情况: 如果该字段为NULL类型,那么直接将NULL插入到该字段,字段值就是设定的默认值NULL; 如果该字段为NOT NULL类型,那么直接将NULL插入到该字段的话,MySQL普通模式下该字段的值会变成默认值并发出警告,但是strict模式下会直接报错。 从性能的角度考虑,…

MySQL慢查询

1 概念 MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。 具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。 long_query_time的默认值为10,意思是记录运行10秒以上的语句。 默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参…
« 上一页   下一页 »