说明
mysql 开启 binlog 的前提:mysql 的版本需要是 5.62及以上,如果不是的话,请升级版本
如果不升级就开启 binlog,会报一下错误
原因:binlog_checksum 是 MySQL 5.6.2 才引入的,5.6.2 一下根本没有这个参数
此处开始,权当已经安装了 MySQL 5.6.2 及以上版本
步骤一: 赋权限
说明: 非 root 用户,才需要执行此步骤,如果是root用户,跳过此步骤;
GRANT ALL PRIVILEGES ON *.* TO canal@'%' IDENTIFIED BY 'canal';
步骤二:开启binlog
打开 my.cnf
文件,如果找不到就搜一下: find / -name my.cnf
,如果没有这个文件,就在 /etc/
下创建一个
添加如下内容
[mysqld]
server-id= 1
log-bin= mysql-bin
binlog_format= row
binlog-do-db= gmall # 仅对哪个数据库开启
步骤三: 重启 mysql 使 binlog 生效
sudo service mysql restart
步骤四:检查binlog 是否生效
# 进入 mysql
mysql -u用户 -p密码
mysql> show variables like 'log_%';
+----------------------------------------+--------------------------------+
| Variable_name | Value |
+----------------------------------------+--------------------------------+
| log_bin | ON # 此处为 ON表示开启成功 |
| log_bin_basename | /var/lib/mysql/mysql-bin |
| log_bin_index | /var/lib/mysql/mysql-bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| log_error | /var/lib/mysql/hadoop102.err |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| log_throttle_queries_not_using_indexes | 0 |
| log_warnings | 1 |
+----------------------------------------+--------------------------------+
13 rows in set (0.00 sec)