如何在服务器部署MySQL

 更新时间:2024年04月11日 11:06:31   作者:jyx_boy  
这篇文章主要介绍了如何在服务器部署MySQL,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

1.在服务器opt 新建文件夹 mysql/data,新建文件 mysql/conf.d/my.cnf

其中my.cnf 内容如下

[mysqld]
log_timestamps=SYSTEM
default-time-zone='+8:00'
server-id=1
log-bin=mysql-bin
binlog-do-db = mall # 要监听的库
binlog_format=ROW

配置解读:

server-id :指定当前服务的id,必须指定,否则会报错

log-bin :设置binlog文件的存放地址和文件名,叫做mysql-bin,此处指定的目录前缀是mysql容器的数据存放目录,所以可以在挂载目录中看到相关的文件,命名格式是mysql-bin.000001开始慢慢叠加

binlog-do-db :指定针对哪个数据库记录binlog的events事件,此处记录mall库

如果在 MySQL 配置中没有显式地配置 binlog-do-db 参数,那么 MySQL 的二进制日志(binlog)将会记录所有数据库的变更操作。

binlog-do-db 参数用于指定需要被记录到 binlog 中的数据库。通过配置 binlog-do-db,你可以选择只记录指定的数据库的变更操作,而忽略其他数据库的变更操作。

如果没有配置 binlog-do-db 参数,或者将其设置为一个空值(例如 binlog-do-db=),那么 MySQL 将会监听并记录所有数据库的变更操作到 binlog 中。

需要注意的是,即使没有配置 binlog-do-db 参数,你仍然可以通过其他方式(如 MySQL 的权限控制)来限制用户对数据库的操作权限,从而间接地控制 binlog 中的记录内容

4. binlog_format

在 MySQL 配置中,binlog_format 是用于配置二进制日志(binlog)的格式。binlog 是 MySQL 中用于记录数据库的变更操作的日志文件。

binlog_format 可以设置为以下几种值:

1. STATEMENT:以 SQL 语句的形式记录数据库的变更操作。这种格式记录的是每个执行的 SQL 语句,可以通过 replay SQL 语句的方式来还原数据变更。但是,由于某些情况下,同一个 SQL 语句在不同的数据库上执行可能会产生不同的结果,所以在使用 STATEMENT 格式时需要注意一致性问题。

2. ROW:以行的形式记录数据库的变更操作。这种格式记录的是每一行数据的变更情况,包括被修改、插入或删除的数据。ROW 格式记录了更加详细和精确的变更信息,但相对于 STATEMENT 格式来说,会占用更多的存储空间。

3. MIXED:混合模式,根据具体的情况自动选择 STATEMENT 或 ROW 格式来记录数据库的变更操作。MIXED 模式会根据 SQL 语句的类型和特性来决定使用哪种格式,以达到性能和存储空间的平衡。

binlog_format 的选择需要根据实际需求和应用场景来决定。不同的格式具有不同的优缺点,需要根据具体情况来进行权衡和选择

2.启动数据库

docker run --name mysql01 \
-p 3306:3306 \
-v /opt/mysql/conf.d:/etc/mysql/conf.d \
-v /opt/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0

3.校验是否开启成功

show variables like 'log_%';
show variables like 'binlog_format';
show variables like 'server_id';
--查看所有日志
show binlog events;
--查看最新的日志文件
show master status
-- 查询指定的binlog日志
show binlog events in 'XTZJ-20221008CY-bin.000020'
--清空所有的 binlog 日志文件reset master

DML与DDL

MySQL中,DML(Data Manipulation Language)和DDL(Data Definition Language)是两种不同类型的SQL语句,它们分别用于不同的数据库操作目的:

DML(数据操作语言): DML语句主要用于对数据库表中的实际数据进行操作,主要包括以下几种命令:

INSERT:向表中插入新的行数据。

UPDATE:更新表中已存在的行数据。

DELETE:从表中删除满足特定条件的行数据。

SELECT:从表中检索数据,虽然SELECT不改变数据本身,但因其属于对数据的操作,所以也被归类于DML。

DML操作通常发生在事务中,可以被用户手动控制事务的开启、提交和回滚,确保数据的一致性和完整性。

DDL(数据定义语言): DDL语句主要用于创建、修改或删除数据库的结构元素,例如:

CREATE:创建新的数据库、表、索引、视图等。

ALTER:更改现有数据库对象的结构,例如增加或删除列,修改列的数据类型,重命名表等。

DROP:删除数据库对象,如表、索引、视图等。

TRUNCATE:清空表的内容,但保留表的结构。

到此这篇关于如何在服务器部署MySQL的文章就介绍到这了,更多相关服务器部署MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql 删除操作(delete+TRUNCATE)

    mysql 删除操作(delete+TRUNCATE)

    这篇文章主要介绍了mysql 删除操作,主要包括了delete与TRUNCATE的使用,需要的朋友可以参考下
    2014-11-11
  • SQL语句解析执行的过程及原理

    SQL语句解析执行的过程及原理

    这篇文章主要介绍了SQL语句解析执行的过程及原理,文章主要通过获得SqlSession对象后就能执行各种CRUD方法展开全文内容需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • FROM_UNIXTIME 格式化MYSQL时间戳函数

    FROM_UNIXTIME 格式化MYSQL时间戳函数

    对MYSQL没有进行过深入的研究,基础知识匮乏,一遇到问题只能手册,看来要把MYSQL的学习安排进时间表了。
    2011-04-04
  • MySQL8.0+版本1045错误的问题及解决办法

    MySQL8.0+版本1045错误的问题及解决办法

    这篇文章主要介绍了MySQL8.0+版本1045错误解决办法,使用命令行登录MySQL报错1045 Access denied for user ‘root’@‘localhost’ (using password:YES),折腾半天才解决问题,需要的朋友可以参考下
    2022-08-08
  • MySQL ALTER命令知识点汇总

    MySQL ALTER命令知识点汇总

    在本文中我们给大家整理了关于MySQL ALTER命令的用法以及相关知识点内容,有兴趣的朋友们学习下。
    2019-02-02
  • mysql id从1开始自增 快速解决id不连续的问题

    mysql id从1开始自增 快速解决id不连续的问题

    这篇文章主要介绍了mysql id从1开始自增 快速解决id不连续的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • MySQL中导出用户权限设置的脚本分享

    MySQL中导出用户权限设置的脚本分享

    这篇文章主要介绍了MySQL中导出用户权限设置的脚本分享,本文通过导出mysql.user表中数据实现导出权限设置,需要的朋友可以参考下
    2014-10-10
  • Winserver2012下mysql 5.7解压版(zip)配置安装教程详解

    Winserver2012下mysql 5.7解压版(zip)配置安装教程详解

    这篇文章主要介绍了Winserver2012下mysql 5.7解压版(zip)配置安装教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • Mysql MVCC多版本并发控制详情

    Mysql MVCC多版本并发控制详情

    这篇文章主要介绍了Mysql MVCC多版本并发控制详情,MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存,下文更多相关介绍需要的小伙伴可以参考一下
    2022-04-04
  • MySQL5.7.20解压版安装和修改root密码的教程

    MySQL5.7.20解压版安装和修改root密码的教程

    这篇文章主要介绍了MySQL5.7.20解压版安装和修改root密码的教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04

最新评论