随笔分类 - mysql
window下安装两个mysql服务
摘要:产生这个想法主要是因为win系统之前装了mysql,服务名为mysql。又重新安装xampp,导致mysql冲突,xampp中的mysql始终启动不起来。 解决方法如下: 1、修改xampp中mysql的端口,打开my.ini [client] port = 3366 [mysqld] port =
阅读全文
centos7下源码安装mysql5.7.16
摘要:一、下载源码包下载mysql源码包 http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz 二、安装约定: 用户名:mysql 安装目录:/data/mysql 数据库目录:/data/mysql/data 三、安装准备1、添加用户 >
阅读全文
win10下zip安装mysql5.7的一些问题
摘要:一、MySQL下载地址: http://dev.mysql.com/downloads/mysql/ 我们下载zip版本的 二、解压zip文件 三、复制一份里面的my-default.ini为my.ini [mysqld] basedir = E:/amp/mysql57 datadir = E:/
阅读全文
sql优化建议
摘要:1、少用(不用)多表操作(子查询,连接查询) 2、大量数据的插入 多条insert load data into talbe 建议,先关闭约束及索引,完成数据插入,再重新生成索引及约束。 针对myisam: > alter table 表名 disable keys; --禁用索引约束 > alter table 表名 enable keys; --启用 针对innodb: drop inde...
阅读全文
mysql分表
摘要:1、水平分表 创建结构相同的N个表 create table student_0 ( id int not null auto_increment, name varchar(12), primary key (id) ); create table student_1 ( id int not null auto_increment, name var...
阅读全文
mysql优化概述4
摘要:一、分区 1、分区概念 将某张表数据,分别存储到不同的区域中。 每个分区,都是独立的表,都要存储该分区的数据,索引信息。 2、创建分区 创建表并指定分区的选项 create table 表名 ( 定义... ) Partition by 分区算法 (分区参数) 分区选项 (*分区所参与的字段必须为主键的一部分) 3、分区算法 (1)、key 按照某个字段进行取余 create t...
阅读全文
mysql优化概述3
摘要:1、前缀索引 建立索引关键字一种方案。 通常会使用字段的整体作为索引关键字。 有时,使用字段前部分数据,也可以去识别某些记录。 语法: index `索引名` (`字段`(N)); 使用字段前N个字符建立索引。 N,究竟是多少? 使用N长度所达到的辩识度,极限接近于使用全部长度的辩识度概可。 > s
阅读全文
mysql优化概述2
摘要:一、索引的概念 利用关键字,就是记录的部分数据(某个字段,某些字段,某个字段的一部份),建立与记录位置的对应关系,就是索引。索引的关键字一定是排序的。 二、索引的类型 mysql支持四种索引: 1、主键索引 2、唯一索引 3、普通索引 4、全文索引 无论任何形式的索引,都是通过建立关键字与位置的对应
阅读全文
mysql优化概述
摘要:设计: 存储引擎的选择,字段类型,范式 功能: 索引,缓存,分区 架构: 主从复制,读写分离,负载均衡 合理SQL:测试,经验。 一、存储引擎的选择 用来存储MYSQL中对象(记录和索引)的一种特定的结构(文件结构)。 存储引擎,处于MYSQL服务器的最底层,直接存储数据,导致上层的操作,取决于引擎的选择。 查看mysql支持的引擎 show engines; 1、in...
阅读全文
mysql 1449 : The user specified as a definer (\'root\'@\'%\') does not exist 解决方法
摘要:1、给root用户授予所有权限 mysql> grant all privileges on *.* to root@"%" identified by "密码"; 2、刷新 mysql> flush privileges;
阅读全文
在控制台远程连接mysql数据库时,出现ERROR 2049 (HY000)错误
摘要:问题的原因是,你本地的数据库版本过高,而远程的数据库版本低。 解决方法:在连接时加上 --skip-secure-auth 参数就可以了。 mysql -h主机 -u用户名 -p密码 --skip-secure-auth 解决方法:在连接时加上 --skip-secure-auth 参数就可以了。
阅读全文
mysql编码问题
摘要:在mysql控制台下输入 show variables like 'char%'; 命令来查看mysql的字符集设置。 character_set_client (客户端通知数据库服务器它的编码方式) 1.客户端即dos窗口发送的数据是gbk编码。 2.MySQL使用character_set_cl
阅读全文
mysql非主键自增长
摘要:mysql并非只有主键才能自增长,而是设为键的列就可以设置自增长。 如下: CREATE TABLE t1 ( id INT, col1 INT auto_increment NOT NULL ); 结果如下: 如果把col1列设为键,就可以创建自增。 CREATE TABLE t1 ( id IN
阅读全文
mysql中GROUP_CONCAT的使用
摘要:现在有三个表,结构如下: cate表 CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `name` char(20) DEFAULT '' COMMENT '分类名', PRIMARY
阅读全文
mysql索引
摘要:如果表的存储引擎是myisam,则可以看到表由三个文件组成。 xxx.frm 表结构 xxx.myd 表数据 xxx.myi 表的索引 创建主键索引 alter table 表名 add primary key (字段) 创建唯一索引 alter table 表名 add unique (字段) create unique index 索引名 on 表名 (字段) 创建普通索引 alter...
阅读全文
mysql5.5以上开启慢查询
摘要:在my.ini配置文件中添加: [mysqld] #开启慢查询 slow_query_log = on #慢查询时间 long_query_time = 0.5 #记录没有使用索引的查询 log_queries_not_using_indexes = on #慢查询日志文件路径 slow_query
阅读全文
mysql定位慢查询
摘要:mysql定位慢查询 //显示数据库的状态 show status; //显示执行了多少次插入 show status like 'com_insert'; //显示执行了多少次更新 show status like 'com_update'; //显示执行了多少次删除 show status like 'com_delete'; //显示执行了多少次查询 show status li...
阅读全文
mysql5.5以上my.ini中设置字符集
摘要:在mysql5.1之前数据库设置字符集: [mysqld] default-character-set = utf8 mysql5.5以后[mysqld]中就不能使用default-character-set,不然数据库无法启动会报错。但在[mysql]中可以设置。 [mysqld] charact
阅读全文
mysql数据库的优化
摘要:数据库的优化包括几个方面 1.表的设计合理化(三范式) 2.sql语句的优化 3.表添加合适的索引(如何使用索引) 4.分表技术(水平分割、垂直分割) 5.定时清除垃圾数据,定时进行碎片整理 6.多用存储过程、程触发器 7.对mysql配置进行优化 8.读写分离 9.服务器硬件升级 数据库的设计 良
阅读全文