复制版mysql安装_MySQL安装及配置主从复制

我用的是两台ubutnu18.04的虚拟机配置的,当然用一台机器安装两个mysql或者用docker也可以实现

安装mysql

ubuntu安装mysql很简单,只要使用下列命令就可以安装成功

sudo apt install mysql-server-5.7 mysql-client-5.7

然后启动mysql服务

sudo service mysql start

修改root密码

这时候你会发现安装的时候并没有要求输入root密码,没法登录mysql,不要急,其实账户名和密码已经写在配置文件中了

sudo cat /etc/mysql/debian.cnf

用这个账号密码登录

[client]

host = localhost

user = debian-sys-maint

password = jzEMr4DMToOA7VB6

socket = /var/run/mysqld/mysqld.sock

mysql -udebian-sys-maint -p

登录之后,更改root的密码和plugin

update set mysql.user authentication_string=PASSWORD('123456') where user='root';

update set mysql.user plugin='mysql_native_password' where user='root';

flush privileges;

quit;

下面就可以用root账户登录了

配置Master主服务器

选一个作为master主服务器,修改配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]下面增加下面几行代码

[mysqld]

server-id=1

log-bin=master-bin

log-bin-index=master-bin.index

保存并重启mysql服务

sudo service mysql restart

然后登录mysql,新建repl用户,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。

create user repl;

grant replication slave on *.* to 'repl'@'%' identified by 'mysql';

接下来就可以使用查看binlog日志文件名称和位置了

show master status

+-------------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+-------------------+----------+--------------+------------------+-------------------+

| master-bin.000003 | 313 | | | |

+-------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

配置slave从服务器

同样先修改/etc/mysql/mysql.conf.d/mysqld.cnf文件,在[mysqld]下面增加下面几行代码

[mysqld]

server-id=2

relay-log=slave-relay-bin

relay-log-index=slave-relay-bin.index

保存并重启mysql服务,登录mysql服务,连接master服务器

change master to master_host='master服务器ip', \

master_port=3306, \

master_user='repl', \

master_password='mysql', \

master_log_file='master-bin.000003', \

master_log_pos=313;

启动slave

start slave;

查看slave状态

show slave status;

这时会看到错误信息,不能连接master服务器

先停止slave

stop slave

需要修改/etc/mysql/mysql.conf.d/mysqld.cnf文件,把bind_address = 127.0.0.1注释掉(远程客户端链接不上mysql服务,除了mysql权限问题外,也有可能是这个原因造成的,redis配置文件也有这个配置),再启动slave,重新查看slave状态就没有报错信息了,配置完成之后,在master服务器创建一个数据库

create database test;

这时候再去查看slave服务器,也会有test数据库出现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值