mysql5.6.43主从+mycat读写分离

一、编译mysql5.6.43

两台机器 都部署mysql
1.47 master
1.48 slave

1、 安装依赖

 yum -y install make gcc-c++ cmake bison-devel  ncurses-devel perl vim

准备用户和组

 groupadd mysql  
 useradd mysql -g mysql -M -s /sbin/nologin 

mkdir /usr/local/mysql  安装目录
mkdir /usr/local/mysql/data  存放数据目录

2、安装mysql-5.6.43.tar.gz

wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43.tar.gz
tar zxf MySQL-5.6/mysql-5.6.43.tar.gz
cd mysql-5.6.43
#开始编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

#开始安装
make;make install

#目录授权

chown mysql:mysql /usr/local/mysql

3、数据库初始化

 cd /usr/local/mysql
 ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

4、配置

cp support-files/my-default.cnf  /etc/my.cnf 
 
 #修改my.cnf配置
vim /etc/my.cnf
    
[mysqld] 添加:
datadir=/usr/local/mysql/data
lower_case_table_names=1
 
#设置环境变量
[root@localhost ~]# vi /root/.bash_profile
在修改PATH=$PATH:$HOME/bin为:
 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
 [root@localhost ~]# source /root/.bash_profile //使刚才的修改生效

5、启动
5.1 传统启动

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root -p(回车)
mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";    //为root添加远程连接的能力
mysql> update user set Password = password('123456') where User='root';    //设置root用户密码

5.2 服务启动

 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql  
 相关命令:
 service mysql start  
 #停止mysql服务  
 service mysql stop  
 #重启mysql服务  
 service mysql restart  
  
 #添加到开机启动项
 chkconfig --add mysql
  
 #修改root密码(前提是mysql启动成功)
 cd /usr/local/mysql 
 #./bin/mysqladmin -u root password 

至此部署完毕

二、主从同步

1.47 master
1.48 slave

master配置

在Linux环境下MySQL的配置文件的位置是在 /etc/my.cnf ,在该文件下指定Master的配置如下:

    log-bin=mysql-bin
    server-id=2 唯一标识
    binlog-ignore-db=information_schema
    binlog-ignore-db=cluster
    binlog-ignore-db=mysql
    binlog-do-db=ufind_db 指定需要同步的数据库

然后重启mysql:service mysqld restart
赋予从库权限帐号,允许用户在主库上读取日志,赋予10.255.1.48也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。

mysql> GRANT FILE ON *.* TO 'root'@'10.255.1.48' IDENTIFIED BY '123456';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'10.255.1.48' IDENTIFIED BY '123456';
mysql> flush privileges;	

重启mysql,登录mysql,显示主库信息

mysql> show master status;
+------------------+----------+--------------+----------------------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB                 | Executed_Gtid_Set |
+------------------+----------+--------------+----------------------------------+-------------------+
| mysql-bin.000001 |      602 | ufind_db     | information_schema,cluster,mysql |                   |
+------------------+----------+--------------+----------------------------------+-------------------+

这里的 File 、Position 是在配置Salve的时候要使用到的,Binlog_Do_DB表示要同步的数据库,Binlog_Ignore_DB 表示Ignore的数据库,这些都是在配置的时候进行指定的。

另外:如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对。

slave配置

从库的配置,首先也是修改配置文件:/etc/my.cnf 如下:

log-bin=mysql-bin
server-id=3
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
replicate-do-db=ufind_db
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值