近日在读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. iOS----CocoaPods的安装、使用和,原理+参考流程+常见问题

    一.什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理.开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第 ...

  2. KnockoutJS 3.X API 第二章 数据监控(2)监控属性数组

    监控属性数组 如果要对一个对象检测和响应变化,会使用监控属性.如果要对一个序列检测并监控变化,需要使用observableArray(监控属性数组).这在你显示或编辑多个值,需要用户界面的部分反复出现 ...

  3. Java 线程 — ConcurrentHashMap

    ConcurrentHashMap ConcurrentHashMap 结构 采用了分段锁的方法提高COncurrentHashMap并发,一个map里面有一个Segment数组--即多个Segmen ...

  4. Oracle 11g系列:约束

    约束是每个数据库必不可少的一部分,约束的目的在于保存数据的完整性.数据完整性是指数据的精确性和可靠性.数据库约束主要包括:主键约束.外键约束.唯一性约束.检查约束和默认值约束. 1.主键约束 主键约束 ...

  5. 为大家分享一个 Ajax Loading —— spin.js

    我们在做Ajax 异步请求的时候,一般都会利用一个动态的 Gif 小图片来制作一个Ajax Loading ,以便增加用户体验. 今天在网上发现了一个 Spin.js ,该 js 脚本压缩后5k,可以 ...

  6. Lua 学习笔记(一)环境搭建

    Lua是一个小巧的脚本语言.Lua由标准C编写而成,代码简洁,几乎在所有的操作系统和平台上都可以编译,运行. 主要讲一下mac和win下的环境搭建. 工具:      1.Sublime Text 2 ...

  7. Prim算法(二)之 C++详解

    本章是普里姆算法的C++实现. 目录 1. 普里姆算法介绍 2. 普里姆算法图解 3. 普里姆算法的代码说明 4. 普里姆算法的源码 转载请注明出处:http://www.cnblogs.com/sk ...

  8. HTML5的学习--performance获取加载时间的工具

    前段时间因为项目需要获取页面加载的时间,就去看了下HTML5中的performane. 可以用其获得页面详细的加载时间. 关于performance的详细内容可以查看 http://www.cnblo ...

  9. 借助 CSS Colorguard 来避免使用重复的颜色

    每一个 CSS 项目开始时愿望都是很美好的,但不可避免地,多人协作的项目相互之间可能重复使用了相似的颜色,而你从来不知道它们的存在.CSS Colorguard 帮助您保持您想要的颜色设置,当你添加的 ...

  10. 20个漂亮 CSS3 按钮效果及优秀的制作教程

    在这篇文章中,我们编译了一组有用的 CSS3 动画按钮教程和引人注目的实验.正如我们都知道的,CSS3在网页设计方面是最重要和最关键的,可以使您的网站对访客更具吸引力和互动性.你可以学习这些教程和试验 ...