近日在读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-数据持久化-CoreData

    CoreData详解 介绍: 在Cocoa环境下,如果你想使用数据库(如sqlite),你可以使用sql语句的方式通过相关的工具类进行数据库的直接操作.当然你也可以通过别人封装之后的一些简单框架,使得 ...

  2. session 学习

    session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息. 当程式需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里 ...

  3. CCNA网络工程师学习进程(5)路由器和交换机的登录安全配置和vlan划分

        本节详细介绍路由器和交换机的登录安全配置以及VLAN划分的原理.     (1)登录安全配置: 路由器登录有两种验证方式:有本地验证方式和远程验证方式.本地登录验证方式可以配置用户名和密码也可 ...

  4. png图片制作任意颜色的小图标

    本内容只要是对张鑫旭PNG格式小图标的CSS任意颜色赋色技术的这篇文章进行详细说明. HTML: <i class="icon"><i class="i ...

  5. Android引导页设计

    大家在安装好一个应用后,第一次打开时往往会出现一个使用引导页,形式一般为三.四张图片,随着我们的滑动进行切换,在最后一页会有一个进入应用的按钮,我们通过点击这个按钮可以进入应用,其实这其中没有太多的复 ...

  6. java匿名类和匿名对象及this的其他用法

    /* 匿名内部类:就是内部类的简写格式. 必须前提:内部类必须继承或者实现一个类或者接口. 匿名内部类其实就是一个匿名 子类对象. 格式:new 父类对象 or 接口(){ 子类内容:(覆盖父类的, ...

  7. 序列sequence中的cache问题

    Oracle中序列Sequence的创建语法如下: CREATE SEQUENCE [ schema. ] sequence [ { INCREMENT BY | START WITH } integ ...

  8. (转)rlwrap真是一个好东西

    在Linux下面使用sqlplus很不爽,上下键,退格键都不能用,严重降低生产效率. 某一天终于发现了这个rlwrap这个好东西,特写此文记录. 下载地址如下: http://utopia.knowa ...

  9. Tomcat7.0启动报错:java.lang.illegalargumentexception:taglib definition not consisten with specification version

    Tomcat7.0启动报错:java.lang.illegalargumentexception:taglib definition not consisten with specification ...

  10. 【大数据】Linux下Storm(0.9版本以上)的环境配置和小Demo

    一.引言: 在storm发布到0.9.x以后,配置storm将会变得简单很多,也就是只需要配置zookeeper和storm即可,而不再需要配置zeromq和jzmq,由于网上面的storm配置绝大部 ...