问轩博客

展开菜单

mysql 合并列值为一行查询

mysql 合并列值为一行查询
mysql 写法1、默认的逗号分隔select GROUP_CONCAT(字段名) from 表名;2、用空格分隔select GROUP_CONCAT(字段名 SEPARATOR ' ') from 表名; 使用 GROUP_CONCAT 函数将多个字符串连接成一个字符串,在拼接成字符串时就会存在拼接长度的问题,mysql 默认的拼接最大长度为 1024 个字节,由于 1024 个字节会出现不够用的情况,所以有时需要去根据情况进行修改,方式如下进入...

MySQL生成经验:禁止不带where条件操作数据库表

MySQL生成经验:禁止不带where条件操作数据库表
MySQL生成经验:禁止不带where条件操作数据库表 方法1:临时执行mysql> set global sql_safe_updates=1;  # 退出重新登陆生效 方法2:把sql_safe_updates=1 加入到my.cnf里的[mysqld],重启数据库 方法3:设置别名alias mysql='mysql -U',并放入/etc/profil...

mysql binlog日志删除管理

mysql binlog日志删除管理
mysql binlog日志删除管理登录MySQL命令行模式查看binlog日志show binary logs;查看主从同步状态show master statusshow slave status\G注:生产环境需要先备份数据后再执行删除操作自动删除永久生效:修改mysql的配置文件my.cnf,添加binlog过期时间expire_logs_days,然后重启mysqlvi /etc/my.cnfexpire_logs_days = 7 #保留最近7天的binlog日志...

MySQL中清除binlog的几种方法以及设置了不生效的原因

MySQL中清除binlog的几种方法以及设置了不生效的原因
碰到一个问题,就是虽然设置了set global expire_logs_days  = 3;但是不生效,原因是改过系统时间,调到过未来时间,然后同步到现在时间,导致binlog日志有个未来时间的日志,并且在mysql-bin.log.index第一位,导致MySQL判断时间还没有到就不删除解决办法:就是单独删除那个binlog日志,然后在mysql-bin.log.index删除这个文件名再flush logs;附:--查看当前正在使用的binlog文件mysql...

nginx四层负载均衡实践の实现MySQL负载均衡

nginx四层负载均衡实践の实现MySQL负载均衡
nginx四层负载均衡实现主要就是stream模块1)stream模块官方说明: http://nginx.org/en/docs/stream/ngx_stream_core_module.html#stream The ngx_stream_core_module module is available since version 1.9.0. This module ...

MySQL数据库表损坏后解决办法

MySQL数据库表损坏后解决办法
1.MyISAM表损坏用myisamchk命令来修复myisamchk -r -q 后面跟你的表名.MYI这个命令是专门修复myism引擎数据库表的。比如,你的数据库目录为/data/mysql/db其中一个表为 test那么修复test表的方法为myisamchk -r -q /data/mysql/db/test.MYI如果修复全部表,用这个命令myisamchk -r -q /data/mysql/db/*.MYI修复全部数据库mysqlcheck -A  -...

Docker笔记-MySQL搭建主从复制

Docker笔记-MySQL搭建主从复制
MySQL搭建主从复制1.新建主服务器容器实例docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-maste...

MySQL性能调优工具-explain

MySQL性能调优工具-explain
最为常见的扫描方式有:(1)system:系统表,少量数据,往往不需要进行磁盘IO;(2)const:常量连接;(3)eq_ref:主键索引(primary key)或者非空唯一索引(unique not null)等值扫描;(4)ref:非主键非唯一索引等值扫描;(5)range:范围扫描;(6)index:索引树扫描;(7)ALL:全表扫描(full table scan);(1)explain结果中的type字段,表示(广义)连接类型,它描述了找到所需数据使用的扫描方式...

MySQL sum不保留小数位测试

MySQL sum不保留小数位测试
     1、通过测试只要添加 cast(sum(字段) as DECIMAL) 使用 cast (字段 as decimal(19,5)) 可以指定精度。 例如:select cast(sum(money) as DECIMAL) from moneytable 2、使用round保留几位小数 例如:...

PHP 连接 MySQL测试

PHP 连接 MySQL测试
连接 MySQL在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器:实例 (MySQLi - 面向对象)<?php $servername = "localhost"; $username = "username"; $password = "password";   // 创建连接 $conn =...

修改mysql.sock位置

修改mysql.sock位置
1、修改my.cnf下的[client]socket = /tmp/mysql.sock[mysqld]socket = /tmp/mysql.sock2、修改php.inipdo_mysql.default_socket=/tmp/mysql.sockmysql.default_socket = /tmp/mysql.sock主要是修改下面这个,上面两个加不加都行mysqli.default_socket = /tmp/mysql.sock...

MySQL主库已经有数据库,如何让从库同步主库数据,MySQL主从同步

MySQL主库已经有数据库,如何让从库同步主库数据,MySQL主从同步
1.配置主库my.cnf文件,主库配置log-bin和server-id参数,从库配置server-id,不能和主库及其他从库一样,一般不开启从库log-bin功能, 注意:配置参数后要重启生效。 log-bin=mysql-bin server-id       = 1 登录主库检查是否开启成功,看目录下是否有logbin日志,或者登录主库的mysql通过下面的命令检查状态,等于ON...

mysql 设置时区方法

mysql 设置时区方法
查看当前时间,先登陆mysqlselect curtime();  或select now();查看时区show variables like "%time_zone%";临时修改时区和时间set global time_zone = '+0:00'; ##修改mysql全局时区为UTC时间set time_zone = '+0:00'; ##修改当前会话时区flush privileges; #立即生效永久生效v...

mysql load data部分字段的方法

mysql load data部分字段的方法
load指定字段需要注意mysql -uroot -p123456 数据库名 --local-infile=1 -e "load data local infile '文件路径' into table 表名 FIELDS TERMINATED BY '分隔符' lines terminated by'\n' (字段1,字段2,字段3,字段4);"...

mysql导出文件出现根目录磁盘不足问题

mysql导出文件出现根目录磁盘不足问题
此问题的出现,主要是根目录的磁盘空间过小,而导出的数据又非常巨大先mkdir -p /data/mysql/tmpchown mysql.mysql /data/mysql/tmp解决版本:找到my.cnf在[mysqld]添加tmpdir=/data/mysql/tmp必须要重启mysql才能生效如果通过set global tmpdir='/data/mysql/tmp',会提示变量可读变量mysql> set global tmpdir...