来源:自学PHP网 时间:2015-04-16 10:50 作者: 阅读:次
[导读] 近日在读O’REILIY系列的《高可用MySQL》, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容。Master-Slave这东西吧,在许多公司都是标配,开发中基本天天都用,遇到的问题自然也不...
近日在读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的正常运行非常重要,如非必要,不要动这些目录的东西 关于解压目录的选择:<喎"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+oaGhobrctuDIy7a8z7K7tr2rTXlTUUy94tG5tb1Qcm9ncmFtIGZpbGVzzsS8/rzQ1tCjrM7S1eLA77Kisru9qNLp1eLR+df2o6zUrdLyysejulByb2dyYW0gZmlsZXPOxLz+vNCxvsnttPjT0L/VJiMyNjY4NDujrLrctuDH6b/2z8K2vL/JxNyz9s/WzsrM4qGjwP3I56O609DQqbPM0PK/ycTcu+Gw0b/VJiMyNjY4NDu1sdf3xL/CvLXEveHK+KGjzca89rXEveLRucS/wrzKx6O6RDovTXlzcWwv1eLW1tDOyr2jrLvy1d/U2sbky/vEv8K8z8IsyOdEOi9MQU1QL015c3FsICy3xdTayrLDtLXYt72jrLKisrvW2NKqoaMgIDwvcD4KPGgzPjxzdHJvbmc+Mi6hoaGhxeTWw7u3vrOx5MG/PC9zdHJvbmc+PC9oMz4KPHA+oaGhobTyv6rPtc2zu7e+s7Hkwb+jrNTaUGF0aLHkwb/Pwte3vNOjqNei0uLKx9e3vNOyu8rHuLK4x6OpTXlTUUwgYmluxL/CvKO6PC9wPgo8cD6hoaGhPGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20141017/2014101709074685.png" alt="\"> 蓝色部分应该是你的bin目录的完整路径。配置好之后,保存并关闭系统变量窗口即可。 3. 配置MYSQL 配置文件 my.ini正常安装版的MySQL会在MySQL的根目录中生成4个不同配置的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 test; 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 '123456'; (4)刷新权限 flush privileges; User表是Mysql的内置表,用于记录用户权限、密码等信息。这个表的主键是Host+User,这可以通过show index命令看出来:
_priv结尾的字段是对应账户的Mysql操作权限,filed-type 是enum 至此,Mysql的配置就算基本完成了,后续将会继续贴上Mysql主从配置的内容。高可用Mysql之旅由此开始。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com