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

mysql 双实例配置

2016-05-25 17:33 591 查看

前言

项目上需要配置mysql主从,借着这个机会先自己测试练习一下,遇到的第一个问题就是,我只有一个测试服务器,所以决定使用mysqld_mulit,这里记录一下安装配置过程。

这里借鉴了这篇博客:http://chenzehe.iteye.com/blog/1266260

ps:我已经使用apt-get的方法安装过一个mysql ,版本为5.5.44

配置mysqld_mulit

#创建存放数据目录
mkdir -p /usr/local/var/mysql1
mkdir -p /usr/local/var/mysql2

#修改权限
chown -R mysql:mysql /usr/local/var/mysql1
chown -R mysql:mysql /usr/local/var/mysql2

#初始化数据目录
mysql_install_db --datadir=/usr/local/var/mysql1 --user=mysql
mysql_install_db --datadir=/usr/local/var/mysql2 --user=mysql

#在etc目录下创建cnf文件
cd /etc/mysql
mysqld_multi --example > mysqld_multi.cnf


这里贴出来我的配置,因为用于测试,所以比较简单

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
#user       = multi_admin
#password   = my_password

[mysqld1]
socket     = /usr/local/var/mysql1/mysql1.sock
port       = 3307
pid-file   = /usr/local/var/mysql1/mysql1.pid
datadir    = /usr/local/var/mysql1
#language   = /usr/share/mysql/mysql/english
user       = mysql

[mysqld2]
socket     = /usr/local/var/mysql2/mysql2.sock
port       = 3308
pid-file   = /usr/local/var/mysql2/mysql2.pid


启动

#后面添加1,2就可以启动不同实例
mysqld_multi --defaults-extra-file=/etc/mysqld_multi.cnf start 1

#停止服务
mysqladmin -h 0.0.0.0 -P 3307 -uroot -p shutdown

#查看相应端口是否已经被监听
netstat -tunlp

#查看是否有活动进程
ps -aux|grep mysql


最后别忘记修改密码

# mysql -u root -S /usr/local/var/mysql1/mysql1.sock

mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;


##配置主从复制

主从复制的介绍可以参考这篇博客:http://blog.csdn.net/hguisu/article/details/7325124

里面包含了基本操作流程,这里我只记录一下我操作过程中遇到的问题

首先需要为slave的连接添加一个用户,并授权,保险起见,添加完成后用这个用户登录一下。否则可能会报1045错误,有关于错误的意思,使用perror 1045查看即可

然后在slave连接master过程中可能会报1597错误,这个也是权限不够造成的,可以通过查看用户权限来确认问题

mysql> select * from user where user='mysql2' \G
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 测试 服务器