Mysql 查看数据库读写次数  

在很多时候,我们需要知道数据库读写占比,去判断是否需要进行读写分离等操作,虽然大部分应用肯定是读占比很重。但是作出判断需要有数据去做支撑。 我们可以通过mysql语句去获取数据库读写的次数,进一步推断出数据库的dml语句的占比。 show global status where Variable_name in('com_select','com_insert','com_delete','com_update');

Posted:2019-12-05  By vilay

Mysql 修改字段的字符集  

Mysql 修改字段的字符集 ALTER TABLE answers MODIFY COLUMN `content` VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL DEFAULT '';

Posted:2019-10-10  By vilay

Mysql 索引优化  

1.什么情况下使用索引 1.需要频繁查询的字段,经常作为where条件 2.需要经常group by 或者order by的字段 3.update,delete的条件列一般也需要 4.distinct 的字段 5.多表joinon条件以及查询条件也要 2.使用索引的细节问题 比如语句:select * from order_products group by product_id order by pay_time desc 几个细节问题 1.建联合索引比给product_id,pay_time

Posted:2019-08-09  By vilay

Mysql show processlist 进程删除  

登录mysql show processlist; 删除进程方法: kill 进程id; 快捷点的方法 select concat('KILL ',id,';') from information_schema.processlist where state= 'updating'; //根据状态查询

Posted:2019-07-23  By vilay

Redis 命令  

Redis主要有五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 1.String(字符串) 设置指定的值 语法:set key value 示例: 127.0.0.1:6379> set name vilay OK 2.获取指定的key值 语法:get key 示例: 127.0.0.1:6379> get name "vilay" 3.给key值设置为value,并且返回ke

Posted:2019-07-16  By vilay

Mysql SELECT list is not in GROUP BY clause  

问题 Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'bestshop.ya_promotion.mobile' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 临时解决方法

Posted:2019-07-14  By vilay

Mysql get_lock  

Mysql 锁机制有两个函数get_lock() 和release_lock() get_lock 语法 SELECT GET_LOCK(key, time) key,就是根据这个参数进行加锁的,另一个是等待时间(s),即获取锁失败后等待多久回滚事务 示例 连接A先GET_LOCK(“lock_name”, 5),因为lock_name这个名称在之前没有加锁所以不需要等待,直接返回1,加锁成功。 然后连接B再GET_LOCK(“lock_name”

Posted:2019-06-26  By vilay

Mysql 性能调优 explain extended  

Mysql 中可以通过命令explain查看查询语句的运行效果,查询效率等问题。 另外,explain还有一个extended扩展可以查看到更多到细节。 结果使用show warnings命令查看。 示例 explain extended select * from users; show warnings

Posted:2019-05-12  By vilay

Mysql timestamp  

Mysql 时间字段timestamp用法 TIMESTAMP 保存时间格式为 YYYY-MM-DD HH:MM:SS 一共10多个字符.年的数字在:1970 –2037 之间。 用法: TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP #在创建新记录和修改现有记录的时候都对这个数据列更新 TIMESTAMP DEFAULT CURRENT_TIMESTAMP #在创建新记录的时候把这个字段设置为当前时间,

Posted:2019-04-26  By vilay

Centos Mysql 忘记root密码  

1. 停止服务 service mysqld stop 2. 修改配置文件 vi /etc/my.cnf,在mysqld段增加 skip-grant-tables 保存,重启之后,就可以不用密码登录了。 3.密码设置为空 先设置密码为空 use mysql; update user set authentication_string='' where user='root'; 4. 重新修改配置文件 skip-grant-tables注释 5. 重启mysql,登录数据库修改密码 前面已经把密码

Posted:2019-04-08  By vilay

Mysql 创建自动更新时间字段  

SQL语句 alter table users add column updated_at timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

Posted:2019-03-09  By vilay

Mysql 使用timestamp添加记录自动更新时间  

使用Mysql的timestame记录数据库表记录的更新时间 alter table users add column updated_at timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

Posted:2018-12-23  By vilay

Redis 查看内存使用情况  

Redis缓存虽然很高效,但是内存不是无限的,我们不能一直往里面去插入数据,所以隔一段时间就必须查看下内存的使用情况 通过info命令来查看,通过客户端连接到Redis执行info命令,可以看到很多数据 只查看内存info memory 结果显示 # Memory used_memory:43798640 //数据占用了多少内存(字节) used_memory_human:41.77M //数据占用了多少内存 used_memory_rss:44482560 //redis占用了多少内存 use

Posted:2018-10-26  By vilay

Mysql 8 数据库密码无法使用以及授权语句的变化  

使用mysql连接数据库的时候报错 PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2059] Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directo

Posted:2018-08-29  By vilay

Windows Mysql 8.0.11 zip安装  

Mysql 8.0.11 在windows下的安装 1. 下载zip安装包 Mysql zip包 2. 解压安装包到目录 例如解压到位置F:/mysql/ 3.生成配置文件 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=F:\mysql # 设置mysql数据库的数据的存放目录 datadir=F:\database # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据

Posted:2018-05-27  By vilay