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
- SHOW PROCESSLIST; 结果参数说明 todo
- 查看配置参数 SHOW VARIABLES LIKE "%connection%"
- 设置参数(不需要重启) 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