《高可用MySQL》, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容。
Master-Slave这东西吧。在很多公司都是标配。开发中基本天天都用。遇到的问题自然也不少(如主从不同步,Master宕机)。但操作权限很有限。有些东西,仅仅有自己看了、做了,才干真正知道原理是什么,也才干更好的去把握。
压缩版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文件夹
data文件夹
MySQL-test
sql-bench
bin、data, include, lib, scripts文件夹等对于MySQL的正常执行很重要,如非必要。不要动这些文件夹的东西
关于解压文件夹的选择:
非常多人都喜欢将MySQL解压到Program files文件夹中,我这里并不建议这样做。原因是:Program files文件夹本身带有空格,非常多情况下都可能出现故障。比如:有些程序可能会把空格当作文件夹的结束。推荐的解压文件夹是:D:/Mysql/这样的形式,或者在其它文件夹下,如D:/LAMP/Mysql ,放在什么地方,并不重要。
2. 配置环境变量
追加不是覆盖)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的配置文件。这里不再赘述。
my-default.ini。且打开之后,配置选项极其简单:
除此之外,再无其它(汗)。
我们的配置由此開始:
(1). 配置basedir
Basedir是指mysql的根文件夹,所以应该是:basedir = D:\MYSQL
(2). 配置data
Data文件夹是存放数据文件和索引文件的文件夹。能够指定mysql文件夹之外的文件夹作为存储文件夹,但要注意权限问题。
我的配置是:datadir = D:\MYSQL\data
(3). 配置port
一般mysql服务都使用3306port,假设port被占了,能够更换其他port
(4). 很多其它配置
设置client模式字符:default-character-set=utf8,关于这个问题,之后会有一篇博文专门讲述。
表默认存储引:default-storage-engine=INNODB。这里顺便提一下,mysql比較旧的发行版中,默认的存储引擎是MyIsam,较新的版本号才是默认INNoDB的存储引擎(详细哪个版本号,笔者也不记得了:D, 能够通过查看changelog得知)
很多其它的配置请查看MySQL的手冊。
4. 安装MySQL服务并启动
mysqld –install mysql
net start mysql(或者在计算机右键管理->服务->mysql右键启动)
5. 改动MySQL user账户
这时候在cmd下应该能够通过命令行连接MySQL了
MySQL默认安装后,会生成root用户和一个匿名的用户,建议改动root账号password,并删除匿名用户,操作例如以下:
Use test;
Select Host,User,Password from user;
删除匿名用户:
delete from user where User=’’;
更改root账户password:
update user set Password=PASSWORD(‘123456’) where User=’root’;
加入Mysql远程连接权限
grant all privileges on *.* to root@'%' identified by '123456';
刷新权限
flush privileges;
User表是Mysql的内置表,用于记录用户权限、password等信息。
这个表的主键是Host+User,这能够通过show index命令看出来:
_priv结尾的字段是相应账户的Mysql操作权限,filed-type 是enum
至此。Mysql的配置就算基本完毕了。兴许将会继续贴上Mysql主从配置的内容。高可用Mysql之旅由此開始。
转载于:
近日在读O’REILIY系列的
《高可用MySQL》, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容。
Master-Slave这东西吧。在很多公司都是标配。开发中基本天天都用。遇到的问题自然也不少(如主从不同步,Master宕机)。但操作权限很有限。有些东西,仅仅有自己看了、做了,才干真正知道原理是什么,也才干更好的去把握。
压缩版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文件夹
data文件夹
MySQL-test
sql-bench
bin、data, include, lib, scripts文件夹等对于MySQL的正常执行很重要,如非必要。不要动这些文件夹的东西
关于解压文件夹的选择:
非常多人都喜欢将MySQL解压到Program files文件夹中,我这里并不建议这样做。原因是:Program files文件夹本身带有空格,非常多情况下都可能出现故障。比如:有些程序可能会把空格当作文件夹的结束。推荐的解压文件夹是:D:/Mysql/这样的形式,或者在其它文件夹下,如D:/LAMP/Mysql ,放在什么地方,并不重要。
2. 配置环境变量
追加不是覆盖)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的配置文件。这里不再赘述。
my-default.ini。且打开之后,配置选项极其简单:
除此之外,再无其它(汗)。
我们的配置由此開始:
(1). 配置basedir
Basedir是指mysql的根文件夹,所以应该是:basedir = D:\MYSQL
(2). 配置data
Data文件夹是存放数据文件和索引文件的文件夹。能够指定mysql文件夹之外的文件夹作为存储文件夹,但要注意权限问题。
我的配置是:datadir = D:\MYSQL\data
(3). 配置port
一般mysql服务都使用3306port,假设port被占了,能够更换其他port
(4). 很多其它配置
设置client模式字符:default-character-set=utf8,关于这个问题,之后会有一篇博文专门讲述。
表默认存储引:default-storage-engine=INNODB。这里顺便提一下,mysql比較旧的发行版中,默认的存储引擎是MyIsam,较新的版本号才是默认INNoDB的存储引擎(详细哪个版本号,笔者也不记得了:D, 能够通过查看changelog得知)
很多其它的配置请查看MySQL的手冊。
4. 安装MySQL服务并启动
mysqld –install mysql
net start mysql(或者在计算机右键管理->服务->mysql右键启动)
5. 改动MySQL user账户
这时候在cmd下应该能够通过命令行连接MySQL了
MySQL默认安装后,会生成root用户和一个匿名的用户,建议改动root账号password,并删除匿名用户,操作例如以下:
Use test;
Select Host,User,Password from user;
删除匿名用户:
delete from user where User=’’;
更改root账户password:
update user set Password=PASSWORD(‘123456’) where User=’root’;
加入Mysql远程连接权限
grant all privileges on *.* to root@'%' identified by '123456';
刷新权限
flush privileges;
User表是Mysql的内置表,用于记录用户权限、password等信息。
这个表的主键是Host+User,这能够通过show index命令看出来:
_priv结尾的字段是相应账户的Mysql操作权限,filed-type 是enum
至此。Mysql的配置就算基本完毕了。兴许将会继续贴上Mysql主从配置的内容。高可用Mysql之旅由此開始。