近日在读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. js获取当前时间显示在页面上

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. PHP变量在内存中的存储方式

    原文:http://www.phppan.com/tag/refcount/ 每门计算机语言都需要一些容器来保存变量数据.在一些语言当中,变量都有特定的类型,如字符串,数组,对象等等.比如C和Pasc ...

  3. 分享一个 C# Winfrom 下的 OutlookBar 控件的使用

    最近在上网的时候,发现了这个C# 下的 OutlookBar 控件,看了一下感觉还真不错,特此记录一下. using System; using System.Drawing; using Syste ...

  4. Cocos2d-x 3.2 学习笔记(二)创建自定义项目

    一.通过命令创建项目 前面搭建好环境后,怎样创建自己的cocos2d-x项目呢? 先来看看cocos2dx 3.2的目录吧(涉及到3.1.1版本的,请自动对应3.2版本,3.x版本的环境搭建都是一样的 ...

  5. 必应词典3.2去广告备忘笔记(转摘于roustar31)

    下载安装包后,沙盘运行,得到本体BingDict_Setup.msi文件,起作用的就是这个,其他的无视了.使用命令行参数:msiexec /a "d:\BingDict_Setup.msi& ...

  6. 初探JavaScript(一)——也谈元素节点、属性节点、文本节点

    Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...

  7. 微信小程序里碰到的坑和小知识

    本文作者:dongtao   来自:授权地址 本人低级程序员,以下bug不能确保在其它地方可以以相同的原因复现.同时, 出现很多bug的原因是小程序的基本知识还有编码的基本功不到位造成 路还很长,共勉 ...

  8. ios基础之 view的frame 与 bounds 的区别 (转)

    前言: 学习ios开发有一段时间了,项目也做了两个了,今天看视频,突然发现view的frame和bound两个属性,发现bound怎么也想不明白,好像饶你了死胡同里,经过一番尝试和思考,终于弄明白bo ...

  9. 读卡器的Win32 Dll调用

    unsafe class Program { [DllImport("mwhrf_bj.dll")] public static extern int rf_card(int ic ...

  10. 获取DataTable选择第一行某一列值

    数据源是一个DataTable,现在我们需要获取这个DataTable的第一行第一列的值.先准备一个数据集,创建一个DataTable,并填充数据: source code: using System ...