您的位置:首页 > 数据库 > MySQL

MySql解压版安装&配置多数据库&主从分离

2016-12-29 13:49 597 查看
基于windows操作系统,笔者使用MySql5.5,安装目录D:\tools。

安装解压版MySql步骤

1、解压文件到目录(D:\tools\MySql5.5_Main),作为主数据库。

2、配置环境变量

创建用户变量



添加系统变量,Path中添加(;%MYSQL_MAIN%\bin)

3、修改配置文件(my.ini)

[client]
loose-default-character-set = utf8
#password   = your_password
port        = 3307
socket      = /tmp/mysql.sock

[mysqld]
loose-default-character-set = utf8
port        = 3307
basedir = D:/tools/MySql5.5
datadir = D:/tools/MySql5.5/data
socket      = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 20M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
#skip-name-resolve ##跳过账户验证
log-bin=mysql-bin ##启动二进制日志(必选)
[WinMySQLadmin]
Server = D:/tools/MySql5.5/bin/mysqld.exe #启动服务可执行文件
server-id   = 1


需要注意的是server-id,如果是多个数据库,server-id依次增加。

4、添加服务(需要管理员身份运行CMD)

mysqld --install MySqlMain --defaults-file="D:\tools\MySql5.5\my.ini"


MySqlMain是服务的名字,–defaults-file:服务依赖文件。

启动、停止服务(需要管理员身份运行CMD)

net start MySqlMain;
net stop MySqlMain;


卸载服务(需要管理员身份运行CMD)

sc delete MySqlMain


首次登录

如果不知道密码,在my.ini中配置
skip-name-resolve
,跳过密码验证

mysql -uroot;##可以直接登录
##修改root账户的密码
use mysql;
update user set password=password("yourpassword") where user="root";
flush privileges;
exit ;


成功后,修改配置文件,注释掉
skip-name-resolve
,重启服务,即可用密码登陆。

mysql -uroot -pyourpassword;


1-4步完成mysql的安装,安装多个mysql,重复1-4,port需要修改成不同的,server-id 依次增加。

那么主纵数据库怎么配置呢?

1、主库配置方式:请查看上面的安装解压版MySql步骤。

2、主库创建账户:“slaver”,密码:”slaver”,目的是为了从库访问主库同步数据。账户和密码可以自定义。

insert into mysql.user(Host,User,Password) values('%','slaver',password('slaver'));
## 账户授权(REPLICATION、SLAVE 这两个权限足够)
GRANT REPLICATION SLAVE ON *.* TO 'slaver'@'192.168.1.1%' IDENTIFIED BY 'slaver';


3、
SHOW SLAVE STATUS;



记下File和Position的值,后面会用到,下面来配置从库。

4、从库配置方式:请查看上面的安装解压版MySql步骤,在第3步中,需要多配置一项
replicate-do-db = tests
,在
#skip-name-resolve
下加即可

意思是你要同步的数据库是哪个,tests是一个在主库上已近存在的库。(特别提醒,从库不需要手动建立tests库,有时候会遇到编码格式的问题,同步的时候,MySql会自动检索,如果没有则自动创建并且同步数据。)

5、OK,从库也创建好了,如果愿意的话,你可以创建10个从库,注册的服务名不能重复哦。

启动从库服务并登陆

STOP SLAVE; ## 停止同步
CHANGE MASTER TO MASTER_HOST='192.168.1.1',MASTER_USER='slaver',MASTER_PASSWORD='slaver',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=107; ## 绑定、变更主从关系
START SLAVE; ##开启同步
SHOW SLAVE STATUS\G; ##查看同步链接状态


解释下绑定、变更主从关系中的一些属性

MASTER_HOST:主库IP,MASTER_USER:访问主库的用户名,MASTER_PASSWORD:访问主库的密码,MASTER_PORT:主库的端口号,MASTER_LOG_FILE:主库的File,就是二进制日志名称,MASTER_LOG_POS:主库的Position,上面咱们记下来的两个值,用在这里。

笔者建议,如果是首次配子主从数据库,将MySql/data文件目录下的文件,除了mysql、performance_schema之外的文件全部删除了,然后启动服务,MASTER_LOG_FILE就会重mysql-bin.000001开始了,每次启动这个日志都会重新生成一个,后面的数字会依次增加。当然,不是每次重新启动MySql服务都要执行一次”CHANGE MASTER TO 。。。”,只要同步一次就OK了,这个关联关系会自动同步到主库的日志文件。

SHOW SLAVE STATUS\G; 执行玩的效果



主要看3项:

Slave_IO_Running: Yes //主库同步接口链接成功

Slave_SQL_Running: Yes //从库开启同步

Replicate_Do_DB: tests //同步的数据库

前两项一定都要是Yes。

好了,到这里一切都搞定了,可以测试下,在主库insert,从库就可以select到数据了^_^!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql