mysql 5.7 以上版本配置 my.cnf 开启 bin-log
时间: 2024-01-23 08:02:38 浏览: 331
在MySQL 5.7以上版本中,如果要开启二进制日志(binlog),需要在my.cnf配置文件中进行相应的设置。具体步骤如下:
1. 打开my.cnf配置文件,找到[mysqld]标签。
2. 在[mysqld]标签下添加以下配置:
```
server-id=1 # 设置MySQL实例的ID
log-bin=mysql-bin # 开启二进制日志,并指定日志文件名前缀
binlog-format=row # 设置二进制日志的格式为行模式
```
其中,server-id用于唯一标识MySQL实例,可以设置为任意非零整数;log-bin指定二进制日志的文件名前缀,可以自定义;binlog-format指定二进制日志的格式,建议使用行模式(row)。
3. 保存my.cnf配置文件,并重启MySQL服务。
```
systemctl restart mysql
```
4. 开启二进制日志后,可以使用以下命令查看当前的二进制日志文件:
```
SHOW MASTER STATUS;
```
该命令将显示当前正在使用的二进制日志文件名及位置等信息。
注意:开启二进制日志会增加MySQL的系统负担,同时也会占用一定的磁盘空间。因此,建议在必要的情况下才开启二进制日志,并根据实际情况进行调整。
相关问题
mysql 5.7 生产环境 my.cnf 常用配置
以下是MySQL 5.7生产环境中my.cnf常用的配置项:
1. 通用配置项
```
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld]
port = 3306
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
datadir = /var/lib/mysql
log_error = /var/log/mysql/mysql-error.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = 1
skip-name-resolve
```
2. 内存配置项
```
key_buffer_size = 256M
max_allowed_packet = 64M
sort_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
join_buffer_size = 4M
tmp_table_size = 64M
max_heap_table_size = 64M
```
3. InnoDB配置项
```
innodb_file_per_table = 1
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_thread_concurrency = 16
innodb_read_io_threads = 8
innodb_write_io_threads = 8
```
4. 复制配置项
```
log-bin = mysql-bin
binlog-format = row
server-id = 1
slave-skip-errors = all
```
这些配置项可以根据实际情况进行调整和优化。需要注意的是,在对my.cnf进行修改时,一定要备份原文件,以免修改错误导致MySQL无法启动。
#!/usr/bin/env bash echo "此脚本用于yum 安装mysql" if [[ $UID -ne 0 ]];then echo "使用root 执行此脚本" exit 1 fi if [[ $# != 1 ]];then echo "Usage script (5.5|5.6|5.7|8.0)" exit 123 fi echo "清理环境" systemctl stop mysqld mariadb &>/dev/null yum erase -y `rpm -qa |grep mariadb` 2>/dev/null yum erase -y `rpm -qa |grep mysql` 2>/dev/null rm -rvf /etc/my.cnf /var/lib/mysql /var/log/mysql* userdel -rf mysql &>/dev/null ping -w3 www.baidu.com &>/dev/null if [[ $? -eq 0 ]];then yum install -y wget yum-utils &>/dev/null if [[ $? -ne 0 ]];then echo "yum 配置错误" exit 110 fi yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm yum clean all yum makecache fast else echo "网络错误" exit 22 fi case $1 in 5.5) yum-config-manager --disable mysql80-community yum-config-manager --enable mysql55-community ;; 5.6) yum-config-manager --disable mysql80-community yum-config-manager --enable mysql56-community ;; 5.7) yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community ;; 8.0) : ;; *) yum repolist all |grep mysql echo "其他版本可自行选择下载并配置" exit 13 ;; esac sleep 2 yum -y install mysql-community-server systemctl start mysqld echo "启动成功,初始密码如下(mysql5.7前版本没有初始密码)" grep -o 'root@localhost.*' /var/log/mysqld.log echo "安装完成" 优化以上这段脚本
这段脚本是用于在 Linux 系统上使用 yum 安装 MySQL 数据库的。脚本首先清理环境,停止已经运行的 MySQL 或 MariaDB 服务,并删除相关的文件和用户。然后通过检测网络连接状态,安装必要的工具和 MySQL 的 yum 源。根据用户指定的版本号,选择对应的 yum 源,并使用 yum 安装 MySQL。最后启动 MySQL 服务,并输出初始密码。这个脚本执行前需要以 root 用户身份执行,并且需要传递 MySQL 版本号作为参数。
阅读全文