近日在读O’REILIY系列的《高可用MySQL》, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容。Master-Slave这东西吧,在许多公司都是标配,开发中基本天天都用,遇到的问题自然也不少(如主从不同步,Master宕机),但操作权限非常有限。有些东西,只有自己看了、做了,才能真正知道原理是什么,也才能更好的去把握。

  本文是高可用MySQL的第一篇读书笔记,主要记录Windows环境下压缩版MySQL(基于安装版的傻瓜式安装过程这里不再提及)的安装过程。

1.  从官网上下载压缩版的MySQL

  下载地址为:http://www.mysql.com/downloads/

  现在oracle接管MySQL之后,好像所有的资源都需要有oracle的账号才可以下载,对于习惯了点击即下载的人来说,的确非常不习惯。

  我下载的文件是:Mysql-advanced-5.6.21-win32.zip

  这个版本的MySQL解压之后非常大,大约有1.6G, 印象中之前机器上安装的MySQL 5.1版本全部文件+几个项目的数据库文件,也不过是700M而已

  解压之后的文件夹大约包含以下几个子目录:

其中:

bin目录        -    主要存放MySQL的各种可执行程序

data目录      -    存放数据库的数据文件和索引文件等

MySQL-test -    有很多编写好的测试脚本

sql-bench    -      用于MySQL benchmark基准测试的脚本

   bin、data, include, lib, scripts目录等对于MySQL的正常运行非常重要,如非必要,不要动这些目录的东西

关于解压目录的选择:

  很多人都喜欢将MySQL解压到Program files文件夹中,我这里并不建议这样做,原因是:Program files文件夹本身带有空格,很多情况下都可能出现问题。例如:有些程序可能会把空格当作目录的结束。推荐的解压目录是:D:/Mysql/这种形式,或者在其他目录下,如D:/LAMP/Mysql ,放在什么地方,并不重要。

2.  配置环境变量

  打开系统环境变量,在Path变量下追加(注意是追加不是覆盖)MySQL bin目录:

  

  蓝色部分应该是你的bin目录的完整路径。配置好之后,保存并关闭系统变量窗口即可。

3.  配置MYSQL 配置文件 my.ini

  正常安装版的MySQL会在MySQL的根目录中生成4个不同配置的ini配置文件:分别为

  my-small.ini

  my-medium.ini

  my-large.ini

  my-huge.ini

  这几个配置文件大致是按照数据库的规模给出的默认配置,可以按照自己的实际情况copy并生成实际的my.ini配置文件。有的版本还会生成只有Innodb的配置文件,这里不再赘述。

  本压缩版的MySQL解压缩之后,在根目录只有一个默认的配置文件:my-default.ini。且打开之后,配置选项极其简单:

除此之外,再无其他(汗)。

我们的配置由此开始:

(1).    配置basedir

Basedir是指mysql的根目录,所以应该是:basedir = D:\MYSQL

(2).    配置data

Data目录是存放数据文件和索引文件的目录,可以指定mysql目录之外的目录作为存储目录,但要注意权限问题。我的配置是:datadir = D:\MYSQL\data

(3).    配置端口

一般mysql服务都使用3306端口,如果端口被占了,可以更换其它端口

(4).    更多配置

设置客户端模式字符:default-character-set=utf8,关于这个问题,之后会有一篇博文专门讲述。

表默认存储引:default-storage-engine=INNODB。这里顺便提一下,mysql比较旧的发行版中,默认的存储引擎是MyIsam,较新的版本才是默认INNoDB的存储引擎(具体哪个版本,笔者也不记得了:D, 可以通过查看changelog得知)

更多的配置请查看MySQL的手册。

4.  安装MySQL服务并启动

  进入Mysql的bin目录中执行 mysqld –install mysql (请记得用管理员身份运行cmd)

  启动mysql服务: net start mysql(或者在计算机右键管理->服务->mysql右键启动)

5.  修改MySQL user账户

  这时候在cmd下应该可以通过命令行连接MySQL了

  MySQL默认安装后,会生成root用户和一个匿名的用户,建议修改root账号密码,并删除匿名用户,操作如下:

 Use mysql;
 Select Host,User,Password from user;

  (1)删除匿名用户:

 delete from user where User=’’;

  (2)更改root账户密码:

update user set Password=PASSWORD(‘123456’) where User=’root’;

  (3)添加Mysql远程连接权限

grant all privileges on *.* to root@'%' identified by '';

  (4)刷新权限

flush privileges;

  User表是Mysql的内置表,用于记录用户权限、密码等信息。这个表的主键是Host+User,这可以通过show index命令看出来:

  _priv结尾的字段是对应账户的Mysql操作权限,filed-type 是enum

  至此,Mysql的配置就算基本完成了,后续将会继续贴上Mysql主从配置的内容。高可用Mysql之旅由此开始。

《高可用MySQL》1 – Windows环境下压缩版MySQL安装的更多相关文章

  1. windows环境下Robot Framework的安装步骤

    Robot Framework是由python编写的开源的用来做功能性测试的自动化测试框架.本文介绍Robot Framework在windows环境下的安装步骤. 安装python从python官网 ...

  2. Elasticsearch学习(2) windows环境下Elasticsearch同步mysql数据库

    在上一章中,我们已经能够通过spring boot来使用Elasticsearch,但是由于我们习惯性的将数据写入mysql,所以为了解决这个问题,Elasticsearch为我们提供了一个插件log ...

  3. Windows环境下 PHP+Apache+Mysql配置

    网上关于这种搭配的配置有许多许多,但是不知道大家有否碰到这么一个问题,就是做好的PHP程序(内含访问mysql数据库的操作)发布到Apache服务器上之后, 运行程序,提示未找到数据库函数. 仔细检查 ...

  4. 基于Windows环境下Myeclipse10.0下载安装破解及jdk的下载安装及环境变量的配置

    jdk的安装及环境变量的配置 1.安装JDK开发环境 附上jdk安装包的百度云链接 链接:http://pan.baidu.com/s/1mh6QTs8 密码:jkb6(当然自行去官网下载最好哒,可以 ...

  5. Windows环境下为PHP5.6安装redis扩展和memcached扩展

    一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       2.根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2 ...

  6. Windows环境下Sybase12.5 图文安装教程

    先准备好安装文件,解压缩ASE install.rar文件,文件夹中包含一个setup.exe可执行文件,双击运行 --- > 欢迎界面出现 下面选择相应国家的协议,我们选择“中华人民共和国”, ...

  7. Windows环境下svn服务器的安装步骤

    做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理. 下载SVN服务器 下载地址是:http://subversion.apache.org/pa ...

  8. Mysql 在 Windows环境下安装:应用程序无法正常启动0xc000007b

    DirectX 修复工具 v3.7增强版 链接: https://pan.baidu.com/s/135pZUNwpXcMZjyLB41sQCg 密码: gtb5

  9. windows环境下mongodb下载、安装和使用总结

    一.首先安装mongodb 1.下载地址:http://dl.mongodb.org/dl/win32/x86_64 2.解压缩到自己想要安装的目录,比如d:\mongodb 3.创建文件夹d:\mo ...

随机推荐

  1. asp.net 文件 操作方法

    /// <summary> /// 移动文件 /// </summary> /// <param name="oldPath">源文件路径< ...

  2. How Google Tests Software - The Life of a TE

    By James WhittakerThe Test Engineer is a newerrole within Google than either SWEs or SETs. As such, ...

  3. 【原创】高性能网络编程(二):上一个10年,著名的C10K并发连接问题

    1.前言 对于高性能即时通讯技术(或者说互联网编程)比较关注的开发者,对C10K问题(即单机1万个并发连接问题)应该都有所了解."C10K"概念最早由Dan Kegel发布于其个人 ...

  4. KnockoutJS 3.X API 第五章 高级应用(4) 自定义处理逻辑

    在典型的Knockout应用程序中,DOM元素是动态添加和删除的,例如使用模板绑定或通过控制流绑定(if,ifnot,with和foreach). 当创建自定义绑定时,通常需要添加清除逻辑,当Knoc ...

  5. 【转】Spring MVC中Session的正确用法之我见

    Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...

  6. stackView的隐藏与显示注意事项

    1.想要通过变换stackView的y值来让stackView显现/隐藏,同时让其中的button能点击响应,得用topCons 2.导航栏的tinBar要设置为非透明状态

  7. java中异常注意问题(发生在多态是的异常问题)

    /* 异常的注意事项: 1,子类在覆盖父类方法时,父类的方法如果抛出了异常,那么子类的方法只能抛出父类的异常或者该异常的子类. 2,如果父类抛出多个异常,那么子类只能抛出父类异常的子集. 简单说:子类 ...

  8. Cocos2d-x 3.2 学习笔记(七)Scene And Transition

    Scene 场景. 是一个抽象的概念,仅被用作Node(节点)的一个子类. Scene (场景)和Node(节点)几乎相同,不同的是Scene的默认锚点在屏幕的中心. 关于场景,不得不提的是场景之间的 ...

  9. JPG渐进 & PNG/PNG24 交错测试

    今天由同事说起,PS导出PNG时,有个选项"交错"是干啥的,想起这也是个问题,所以特意搞了个测试页面: 引用网上"交错-就是类似旧式电视的隔行扫描,让图片只花50%的时间 ...

  10. CSS魔法堂:你真的理解z-index吗?

    一.前言 假如只是开发简单的弹窗效果,懂得通过z-index来调整元素间的层叠关系就够了.但要将多个弹窗间层叠关系给处理好,那么充分理解z-index背后的原理及兼容性问题就是必要的知识储备了.本文作 ...