mysql-Wiki笔记

mysql8.0 必须先创建用户再授权

CREATE USER 'root'@'%' IDENTIFIED BY 'root';
grant all privileges on *.* to 'root'@'%';

创建用户且授权

创建用户并授权: CREATE USER 'paydemo'@'%' IDENTIFIED BY 'ca4daad_SK';

登录用户直接设置密码

set password = password('ca4*DZJACRog!d_SK')

给用户授权(用户不存在会自动创建) 常用

grant all privileges on pay_demo.* to "paydemo"@"%" identified by "ca4aaaDZJACRog!d_SK";

刷新权限

flush privileges

创建数据库

CREATE DATABASE IF NOT EXISTS db_name DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

复制表结构和数据

CREATE TABLE tab_new SELECT * FROM tab

查看配置

SHOW VARIABLES LIKE '%sql_mode%'

查看mysql 文件

which mysql
mysql --help|grep 'my.cnf'
locate my.cnf

参考:https://blog.csdn.net/qq_37502106/article/details/80199321

SHOW PROCESSLIST

mysql too many connections

  1. SHOW PROCESSLIST; 结果参数说明 todo
  2. 查看配置参数 SHOW VARIABLES LIKE "%connection%"
  3. 设置参数(不需要重启) SET GLOBAL max_connections=1000;

mysql时区修改

mysql管理工具SQLyog 中命令行:

SHOW VARIABLES LIKE '%time_zone%';
SET time_zone = '+8:00' 设置当前会话生效
SET global time_zone = '+8:00' 设置全局生效
flush privileges;

参考: https://blog.csdn.net/csdnhsh/article/details/91357986

更新替换www.sb.cn 为 www.nc.com

UPDATE `news` SET content = REPLACE(content,'www.sb.cn','www.nc.com')  WHERE `content` LIKE '%www.sb.cn%'

UPDATE `news` SET cover_img = REPLACE(cover_img,'www.sb.cn','www.nc.com')  WHERE `cover_img` LIKE '%www.sb.cn%'

// 注意replace替换是区分大小写的
UPDATE  `privilege` SET route = REPLACE(route,'Index','')

插入数据从其它数据库表

INSERT INTO `news_test` (title,content,cover_img,`desc`,created_at)  SELECT title,content,cover_img,`description` AS `desc`,created_at  FROM news WHERE id>300

mysql日期时间函数

// 获取当前时间日期
SELECT NOW() // 2023-03-12 09:35:10

// 日期时间格式化函数
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i') // 2023-03-12 09:35

// 获取时间戳函数
SELECT UNIX_TIMESTAMP()  // 1678585006

// 格式化时间戳函数
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y-%m-%d %H:%i:%s') // 2023-03-12 09:37:38



  • 字符串截取:注意下标识从1开始的
    SELECT SUBSTRING('1717232007.5586',1,10)

数据库默认行为

自动把转换数字字符串,数据库或者框架做一个怎么样的取舍了?TP框架中怎么配置

数据库取出来默认都是数字类型都是字符串的。

mysql general 2036: mysql的驱动mysql 与mysqlnd还是有许多区别的

TP框架PDO问题

查询实体需要对应得账号有权限

The user specified as a definer ('root'@'%') does not exist

CREATE USER 'root'@'%' IDENTIFIED BY 'root';
grant all privileges on . to 'root'@'%';

慢查询日志配置

slow_query_log=ON
slow_query_log_file=D:/phpstudy_pro/log/slow20220524.log
long_query_time=0.5 // 0.5s
posted @ 2019-05-24 11:24  ncsb  阅读(317)  评论(0编辑  收藏  举报