近日在读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. HTML基础笔记-01

    ---恢复内容开始--- 学习网站:W3School 1.基础知识 目录: <1.我的文档—> 选择目录名—> 主页—> 样式(点击标题样式,选择你想要的每个标题,重复此步骤) ...

  2. Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数

    Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听密码输入框的输入内容类型,不可以输入中文    TextWatcher mTextWatcher = new Tex ...

  3. 项目中是用eCharts

    1.首先在项目中引入echart.js库. <!DOCTYPE HTML> <%@page contentType="text/html; charset=UTF-8&qu ...

  4. MemCached add命令的用法详解

    增加: add 往内存增加一条数据 命令格式: add key flag expiretime bytes\r\n data\r\n //跨行所加的一些数据 1)key: 给这个值起一个固定的名字 / ...

  5. JS中call、apply、bind使用指南,带部分原理。

    为什么需要这些?主要是因为this,来看看this干的好事. box.onclick = function(){ function fn(){ alert(this); } fn();}; 我们原本以 ...

  6. 深入理解PHP内核(五)变量及数据类型-变量的结构和类型

    原文链接:http://www.orlion.ga/238/ 编程语言的类型可以分为强类型和弱类型两种,PHP是弱类型语言,但是C语言是强类型语言.在官网PHP实现内部,所有变量使用同一种数据结构(z ...

  7. 编译原理LL1文法分析表算法实现

    import hjzgg.first.First; import hjzgg.follow.Follow; import hjzgg.tablenode.TableNode; import hjzgg ...

  8. 牛顿法与拟牛顿法学习笔记(四)BFGS 算法

    机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题.在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BF ...

  9. 12套有用的免费 PSD 格式 Android UI 素材

    在这里,我们向大家呈现一些有用的和免费的 Android 用户界面 PSD 素材.由于 Android 市场迅速增长,设计人员和开发人员正在寻找一些快速和容易的方法来创建 Android 友好的应用和 ...

  10. 跨平台的.NET运行环境 Mono 3.2发布

    Mono是由Xamarin主办的一个开源项目平台,旨在让开发人员轻松构建跨平台的应用程序.Mono是基于ECMA标准来创建.NET框架,包括C#编译器和公共语言运行时(CLR),可以让.NET应用程序 ...