linux mysql 数据库同步工具_在Linux系统中创建数据库和表, 并使用canal数据同步工具...

在Linux系统中创建数据库和表

进入MySQL数据库

[root@localhost ~]# mysql -uroot -p

Enter password:

查看数据库

mysql> show databases;

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

| Database |

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

| information_schema |

| mysql |

| performance_schema |

| sys |

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

创建数据库guli

mysql> create database guli;

再次查询数据库确认

mysql>show databases;+--------------------+

| Database |

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

| information_schema |

| guli |

| mysql |

| performance_schema |

| sys |

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

在创建表之前先选择要使用的数据库

mysql> use guli;

创建表members

mysql>create table members (-> id intprimary key,-> username varchar(100),-> age int

-> );

查看所有表

mysql>show tables;+----------------+

| Tables_in_guli |

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

| members |

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

在Windows本地创建表members

d2d03fb051aab32b58dda9cd6851305e.png

查询members为空

mysql> select *from members;

Empty set (0.49 sec)

检查binlog功能是否有开启

mysql> show variables like 'log_bin';+---------------+-------+

| Variable_name | Value |

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

| log_bin | OFF |

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

如果显示状态为OFF表示该功能未开启,开启binlog功能

退出MySQL

mysql>exit

Bye

修改 mysql 的配置文件 my.cnf

[root@localhost etc]# vim my.cnf

追加内容:

log-bin=mysql-bin #binlog文件名

binlog_format=ROW #选择row模式

server_id=1 #mysql实例id,不能和canal的slaveId重复

MySQL5.7的配置如图:

e4d851ff2d9dc9ac106bb510596e3fcf.png

重启MySQL

[root@localhost ~]# service mysqld restart

Redirecting to/bin/systemctl restart mysqld.service

登录 mysql 客户端,查看 log_bin 变量

mysql> show variables like 'log_bin';+---------------+-------+

| Variable_name | Value |

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

| log_bin | ON |

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

在Windows系统MySQL数据库中创建canal用户

e20ac885dd58b558bfe3f9d60b944449.png

CREATE USER 'canal'@'%' IDENTIFIED BY 'RedFace.ren2020';

GRANT SHOW VIEW, SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON*.* TO 'canal'@'%';

FLUSH PRIVILEGES;

SELECT DISTINCT CONCAT('User: ''',USER,'''@''',HOST,''';') AS QUERY FROM mysql.user;

3d34507198abc02ddf84f640d2e14d88.png

在Linux系统的MySQL数据库中创建canal用户

mysql>show tables;+---------------------------+

| Tables_in_mysql |

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

| columns_priv |

| db |

| engine_cost |

| event |

| func |

| general_log |

| gtid_executed |

| help_category |

| help_keyword |

| help_relation |

| help_topic |

| innodb_index_stats |

| innodb_table_stats |

| ndb_binlog_index |

| plugin |

| proc |

| procs_priv |

| proxies_priv |

| server_cost |

| servers |

| slave_master_info |

| slave_relay_log_info |

| slave_worker_info |

| slow_log |

| tables_priv |

| time_zone |

| time_zone_leap_second |

| time_zone_name |

| time_zone_transition |

| time_zone_transition_type |

| user |

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

31 rows in set (0.00 sec)

mysql> CREATE USER 'canal'@'%' IDENTIFIED BY 'RedFace.ren2020';

Query OK,0 rows affected (0.02sec)

mysql> GRANT SHOW VIEW, SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';

Query OK,0 rows affected (0.02sec)

mysql>FLUSH PRIVILEGES;

Query OK,0 rows affected (0.01sec)

mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;+------------------------------------+

| query |

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

| User: 'canal'@'%'; |

| User: 'root'@'%'; |

| User: 'mysql.session'@'localhost'; |

| User: 'mysql.sys'@'localhost'; |

| User: 'root'@'localhost'; |

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

5 rows in set (0.02 sec)

测试连接Linux中的数据库

c42469b0ea6c798b062505dc4939da60.png

376d286aadce69807761d402118bbf97.png

创建canal文件夹

[root@localhost ~]# cd /usr/local

[root@localhost local]# ls

bin etc games include lib lib64 libexec nginx redis sbin share src

[root@localhost local]# mkdir canal

[root@localhost local]# ls

bin canal etc games include lib lib64 libexec nginx redis sbin share src

[root@localhost local]# cd canal/

使用Xshell工具,可以直接将canal.deployer-1.0.24.tar.gz文件拖拽到canal文件夹,并将其解压

[root@localhost local]# cd canal/[root@localhost canal]# rz-E

rz waiting to receive.

[root@localhost canal]# ls

canal.deployer-1.0.24.tar.gz

[root@localhost canal]# tar zxvf canal.deployer-1.0.24.tar.gz

更改配置信息

[root@localhost canal]# cd conf/example/[root@localhost example]# ls

instance.properties

[root@localhost example]# vim instance.properties

我更改后的配置信息如下【红色为要更改的地方】

#################################################

## mysql serverId

canal.instance.mysql.slaveId= 1234# position info

canal.instance.master.address= 192.168.211.135:3306canal.instance.master.journal.name=canal.instance.master.position=canal.instance.master.timestamp=#canal.instance.standby.address=#canal.instance.standby.journal.name=#canal.instance.standby.position=#canal.instance.standby.timestamp=# username/password

canal.instance.dbUsername=canal

canal.instance.dbPassword=RedF***.ren20**

canal.instance.defaultDatabaseName=canal.instance.connectionCharset= UTF-8# table regex

canal.instance.filter.regex= .*\\..*# table black regex

canal.instance.filter.black.regex=#################################################

启动canal

[root@localhost canal]# cd bin/[root@localhost bin]# ls

startup.bat startup.sh stop.sh

[root@localhost bin]# ./startup.sh

查看canal状态

[root@localhost bin]# ps -ef | grep canal

其他MySQL命令

停止MySQL

[root@localhost ~]# service mysqld stop

Redirecting to/bin/systemctl stop mysqld.service

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值