mysql-proxy之读写分离-主从数据库配置

mysql-proxy 配置 读写分离 主从数据库配置

##mysql的安装

下载并安装MySQL官方的 Yum Repository

###使用yum安装

yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

###修改root密码
安装成功后默认会创建一个root用户,并携带一个初始密码,需要修改初始密码,启动mysql

systemctl start mysqld.service

在Mysql的日志找出初始密码,命令如下

grep "password" /var/log/mysqld.log	

通过下面的命令进入数据库

mysql -u root -p

修改validate_password_policy参数的值(因为mysql默认不允许特别简单的密码,修改密码的安全等级)

mysql> set global validate_password_policy=0;  

在mysql客户端连接环境下执行修改密码命令

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new@password';

此时密码修改成功,重启mysql服务

systemctl restart mysqld.service

(如果上述方法修改密码不成功的话,还可以这样

mysql> use mysql;
Database changed
mysql> update user set password=password('yourpass') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

)

修改字符集为UTF-8
通过命令 mysql -u root -p 进入Mysql,注意是新密码,在mysql环境下通过如下命令查看字符集

show variables like '%character%';、

我们看到上面的字符集不都是utf-8,现在我们在bash终端打开mysql配置文件

vi /etc/my.cnf

添加上这些

#add by tangxiaobai
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

设置mysql支持远程连接
到现在为止,我们的Mysql还不能远程连接访问,这里我们用的是改表法,登录mysql命令客户端,执行以下命令(赋权和刷新权限)

grant all privileges on *.* to root@'%' identified by '123456' with grant option;
flush privileges;

然后出去把防火墙关闭

systemctl stop firewalld.service

但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

yum -y remove mysql57-community-release-el7-10.noarch

教程中新建了一个账号

create user 'repl'@'%' identified by 'repl_Pass1';

授予REPLICATION SLAVE权限:

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

直接用root的话一样

GRANT REPLICATION SLAVE ON *.* TO 'root'@'%';

mysql的安装 主从都是一样的

下面配置mysql的主从数据库配置

###主服务器:
打开配置文件

vi /etc/my.cnf

添加以下内容

log_bin=master-bin
log_bin_index = master-bin.index
server-id=4
expire-logs-days=7
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performation_schema
binlog_ignore_db=sys
binlog_do_db=mybatis

然后重启mysql 查看状态

mysql> show master status;

记录下来file和position的值 之后配置从服务器需要用到

从服务器:

vi /etc/my.cnf 

添加以下内容

server-id = 2
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index

重启mysql
登录mysql 连接master数据库(具体参数根据实际情况填写)

mysql>  change master to master_host='172.18.74.76', master_port=3306, master_user='root', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=235;

之后启动salve

mysql> start slave

mysql-proxy

把mysql-proxy的包解压

把mysql-proxy添加到环境变量里面 /etc/profile文件 添加这么一句

export PATH=$PATH:/opt/software/mysql-proxy-0.8.5-linux-el6-x86-64bit/bin
source /etc/profile

之后 启动mysql 加上 --deamon是在后台运行(别把读写的搞混了)(主服务器是写入,从服务器是du’w)

mysql-proxy --keepalive --proxy-read-only-backend-addresses=172.18.74.61:3306 --proxy-backend-addresses=172.18.74.60:3306  --proxy-lua-script=/opt/software/mysql-proxy-0.8.5-linux-el6-x86-64bit/share/doc/mysql-proxy/rw-splitting.lua --log-file=/opt/software/mysql-proxy-0.8.5-linux-el6-x86-64bit/var/mysql-proxy.log
netstat -antup | grep proxy 

查看运行 端口 默认为 4040

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值