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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zbraccp/article/details/53926988

基于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到数据了^_^!

猜你喜欢

转载自blog.csdn.net/zbraccp/article/details/53926988