mysql 热备,MYSQL双机热备

安装MYSQL

下载mysql5.6.37-linux-glibc2.12-x86_64,解压到/usr/local/,改名为mysql

新建用户和用户组:mysql

sudo groupadd mysql

sudo useradd -r -g mysql -s /bin/false mysql

cd /usr/local/mysql

(重要!)sudo chown -R mysql .

(重要!)sudo chgrp -R mysql .

sudo scripts/mysql_install_db --user=mysql

执行 scripts/mysql_install_db 时出错。

./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

需要执行sudo apt-get install libaio-dev,然后再执行安装脚本

修改当前目录拥有者为root用户:执行命令

sudo chown -R root .

修改当前data目录拥有者为mysql用户:执行命令

sudo chown -R mysql data

sudo bin/mysqld_safe --user=mysql &

此时这个窗口会卡住,新建一个terminal,进入/usr/local/mysql中

启动bin/mysql可以进入mysql控制台,输入exit;退出

执行sudo ./bin/mysql_secure_installation进行root账户密码的修改等操作。

然后按ctrl+C关掉那个卡住的进程

配置环境变量

sudo nano /etc/profile

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

sudo cp support-files/mysql.server /etc/init.d/mysql.server

sudo chmod +x /etc/init.d/mysql.server

sudo cp my.cnf /etc

sudo nano /etc/my.cnf

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port = 3306

使用/etc/init.d/mysql.server start –user=mysql启动服务

启动失败的话重启一下,开机后使用mysql –u root –p登陆会出现can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’(2)的错误,这是因为服务还未启动。

使用/etc/init.d/mysql.server start –user=mysql启动服务,此时会成功。

设为开机自启sudo update-rc.d -f mysql.server defaults

还需要配置一下访问权限:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop-sna' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

这样就可以使用root用户在任意地点登陆,而不再限于localhost了

关于服务的三个命令。

启动mysql:service mysql.server start

停止mysql:service mysql.server stop

查看mysql运行状态:service mysql.server status

高可用的MySQL双机热备安装教程:

开启二进制日志,设置id

sudo nano /etc/my.cnf

[mysqld]

server-id = 1 #backup这台设置2

log-bin = mysql-bin

binlog-ignore-db = mysql,information_schema #忽略写入binlog日志的库

auto-increment-increment = 2 #字段变化增量值

auto-increment-offset = 1 #初始字段ID为1

slave-skip-errors = all #忽略所有复制产生的错误

重启MYSQL服务

service mysqld restart

先查看下log bin日志和pos值位置

里面有个File和Position,分别是log_file和log_pos的值,一会儿要填

mysql> show master status;

master配置如下:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'10.0.2.%' IDENTIFIED BY 'replication';

mysql> flush privileges;

mysql> change master to

-> master_host='10.0.2.7', # 此处输入slave的ip地址

-> master_user='replication',

-> master_password='replication',

-> master_log_file='mysql-bin.000001',

-> master_log_pos=120; #对端状态显示的值

mysql> start slave; #启动同步

backup配置如下:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'10.0.2.%' IDENTIFIED BY 'replication';

mysql> flush privileges;

mysql> change master to

-> master_host='10.0.2.4', # 此处输入master的ip地址

-> master_user='replication',

-> master_password='replication',

-> master_log_file='mysql-bin.000001',

-> master_log_pos=120;

mysql> start slave;

MYSQL双击热备安装完成

测试

在一台机器上建立一个数据库,创建一个表,在另一台机器上查询是有结果的,说明安装成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值