MySql5.7基础配置

[client]
#设置mysql客户端的字符集
default-character-set=utf8
[mysqld]
#设置mysql端口为3306
port = 3306
#设置mysql服务器的字符集
character-set-server=utf8
#设置存储引擎
default-storage-engine=INNODB
#开启MySQL log-bin日志
log-bin=mysql-bin
#binlog日志的格式,分别有STATEMENT、ROW、MIXED三种,影响主从复制
binlog-format=Row
#开启binlog的数据库
binlog-do-db=auth
#开启多个数据库的时候写多个
binlog-do-db=districter
#不开启binlog的数据库
binlog-ignore-db=mysql
#表名是否区别大小写
#0磁盘和查询全部区分
#1磁盘是小写,查询不区分大小写
#2磁盘区分大小写,查询是小写
lower_case_table_names=1
#开启慢sql日
slow_query_log=TRUE
#设置最大连接数
max_connections=500
#NO_ENGINE_SUBSTITUTION:如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
#STRICT_TRANS_TABLES:严格模式,出错时放弃语句放弃事务
#TRADITIONAL模式:严格模式,出错时执行语句放弃事务
#ANSI模式:宽松模式,更改数据执行语句,使其能尽量保存成功,会自动变更数据模式,报错不会回滚
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#跳过表授权,可以无密码进入MySQL修改root用户密码,但是不能进行授权操作
#skip-grant-table
[mysqld_safe]
#日志路径
log-error=/var/log/mysql/mysqld.log
[mysql]
#设置字符集
default-character-set=utf8

配置路径和常用文件保存位置

默认配置文件路径: 配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid

常见问题

  • 启动出现MySQL-bin.xxx等文字字样的报错

    如果你不小心删除了mysql-bin.0000等文件。 mysql 可能会启动不起来。因为,mysql会根据index文件去找最新的日至。

    这时候会报错误如 某个mysql-bin.0000 文件找不到。 你需要清空 mysql-bin.index这个文件。然后再启动。

  • 安装完无法登陆,报密码错误

    在安装MySQL5.7的时候,会初始化随即密码,如果不手动选择生成模式,会在安装过程中,把密码输出到控制台显示,非常复杂的一个字符串,需要仔细找.如果在初始化的时候使用参数配置可以设置空密码,登录之后可以自行修改.

    mysqld --initialize-insecure --user=mysql ##生成空密码的初始化命令

  • timestamp类型的列,自动更新了

    explicit_defaults_for_timestamp会控制timestamp类型自己更新,需要在创建表的时候,把timestamp类型默认值设置为null

    如果已经创建完成,需要修改表结构,设置列的默认值为null

    alter table tablename modify column col_timestamp timestamp null default null;
  • 忘记root密码

    在my.cnf文件中的[mysqld]下添加一句绕过授权的配置,可以无密码登录,修改完root用户密码之后再把配置去掉,使用root登录之后就可以正常操作系统了.

  • 远程不能连接MySQL

    1.开启远程访问的权限

    grant all privileges on *.* to 'username'@'%' identified by 'password' with grant option;

    第一个 *.*表示所有的权限都可以远程使用 , %表示连接的IP地址 .

    2.服务器防火墙端口开启,默认是3306

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

    firewall-cmd --zone=public --add-port=3306/udp --permanent

MySQL 优化记录:

  • where条件可以加索引的必须加上索引
  • 使用desc来查看有哪些联查没有使用到索引
  • 索引字段的类型和长度在 联查的表中必须一致(大坑,很多时候注意不到)
  • 可以把比较固定的联查表 , 单独拿出来查询完之后再进行其他表的联查
  • 把字段长度尽可能的缩短 , 避免不必要的空间浪费
  • 尽量使用定长字段
  • 索引的先后顺序 , 尽可能的调整到都可以使用上的状态(where 和 联查 的字段 都按索引的顺序书写)

MySql5.7基础配置的更多相关文章

  1. StackExchange.Redis帮助类解决方案RedisRepository封装(基础配置)

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫,请注明原文地址.http://www.cnblogs.com/tdws/p/5815735.html 写在前面 这不是教程,分享而已,也欢迎园友们多 ...

  2. appach2.4 + php7 +mysql5.7.14 配置

    步骤1.首先打开Apache2.2\conf里面的httpd.conf文件.在里面找到: ServerRoot ,改成Appache所在目录  步骤二 在LoadModule 后面添加支持php7的扩 ...

  3. Hibernate 基础配置及常用功能(三)

    本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转 ...

  4. Emacs学习心得之 基础配置

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础配置 1.前言2.基础配置 一.前言 本篇博文记录了Emacs的一 ...

  5. nginx 的基础配置[转]

    nginx 的基础配置 分类: 工具软件2013-11-13 23:26 11人阅读 评论(0) 收藏 举报   目录(?)[-] 管理配置文件 全局配置 虚拟机server配置 location配置 ...

  6. freeRadius 基础配置及测试

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  7. win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置

    原文:win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置 一.说明 以前配置apache+php+mysql都是参考网上的,一般都没有什么问题.最近公司有个 ...

  8. Oracle 10g DataGuard手记之基础配置

    DataGuard为企业数据的高可用性,数据安全以及灾难恢复提供支持,一般由一个primary db与几个物理或逻辑standby db组成一个DataGuard配置. 系统环境 操作系统为windo ...

  9. SpringMVC最基础配置

    SpringMVC和Struts2一样,是前后台的一个粘合剂,struts2用得比较熟悉了,现在来配置一下SpringMVC,看看其最基础配置和基本使用.SpriingMVC不是太难,学习成本不高,现 ...

  10. 使用Java管理Azure(1):基础配置

    Azure针对Java开发人员提供了非常丰富的开发库,开发工具,和相关插件,让你通过Java对Azure进行服务管理和开发,本文第一步先介绍如何快速的配置Java开发工具,主要针对目前比较流行的Ecl ...

随机推荐

  1. 防止react-re-render: Why Suspense and how ?

    近期内部项目基础项目依赖升级,之前使用的路由缓存不再适用,需要一个适配方案.而在此过程中react re-render算是困扰了笔者很久.后来通过多方资料查找使用了freeze解决了此问题.本文主要论 ...

  2. asp.net core 浏览器向服务端传递对象或对象数组参数服务端接收方式

    日常开发中我们经常会在客户端向服务器端传递参数,下面以asp.net core为例 专门分享传递对象或对象数组方法 一.键值对专递对象 以下是一个表单,现在需求是将以下 表单 所有input元素以独享 ...

  3. ISTQB软件测试初级认证模拟题

    参考地址 http://www.docin.com/p-297467364.html 第一章:软件测试基础(18%) 1.学习目标 1.1 为什么需要软件测试? (K2) ① 通过具体的例子,来描述软 ...

  4. 更换CentOS的下载源为阿里云

    阿里Linux镜像地址:http://mirrors.aliyun.com/ 1.备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cen ...

  5. JavaScript 基础学习(二)

    JavaScript 基础学习(二) instanceof方法: var s = "hello"; var i = 8; //typeof 只能判断基本数据类型 alert(typ ...

  6. 【快速学】指针是什么?指针常量、常量指针是什么?(C++)

    0.先上总结 指针是什么?指针是个数据类型.你可以定义一个指针变量,它里面存储的是个地址 如int a=3;,定义了一个int类型的变量a,值为3,它在内存中的地址为&a 同理,int *b= ...

  7. Python3 文件处理相关脚本

    对文件相关处理是脚本中最常见的,下面列举几种实用的案例: 批量删除: (1)删除指定目录,指定后缀文件 例:删除目录J:/start下的 .log与.tmp结尾文件 def del_files(pat ...

  8. yzh 总线选讲

    分布式:通过总线,我们可以用"通信""消息"等视角,把各个模块拆成各个小状态机,每个小状态机互相之间独立,通过总线通信 集中式:通过一个大状态机生成所有控制信号 ...

  9. unix:///var/run/supervisor.sock no such file报错解决办法

    报错 unix:///var/run/supervisor.sock no such file 原因 /var/run/supervisor.sock已被清理. 解决办法 关闭supervisor:p ...

  10. js时间转化为几天前,几小时前,几分钟前

    在前面一篇文章中,我们学习到了如何获取时间和怎么算出两者之间的时间差 今天看看怎么将时间戳转换为几个月前,几周前,几天前,几分钟前的形式.与上面类似通过JavaScript计算当前时间与定义的时间的对 ...