MySQL用户狠狠的踩了MariaDB的坑(2)

踩坑!
MariaDB 是不是不支持动态 sql ?
MariaDB 是不是不支持动态 sql ?
MariaDB 是不是不支持动态 sql ?

chatgpt:
MariaDB 是支持动态 SQL 的。动态 SQL 是指在运行时动态生成 SQL 语句,而不是在编译时就固定好 SQL 语句。

MariaDB 提供了多种方式支持动态 SQL,例如使用 prepared statements 和 stored procedures。使用 prepared statements 可以预先编译 SQL 语句,然后在运行时提供参数来执行该语句。使用 stored procedures 则可以在数据库中创建一个过程,其中包含动态 SQL 语句,然后在运行时调用该过程来执行 SQL 语句。

除了 prepared statements 和 stored procedures,MariaDB 还提供了其他一些支持动态 SQL 的功能,例如用户自定义函数和动态列名。这些功能可以帮助开发人员更加灵活地编写动态 SQL 语句,以满足不同的需求。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/659938
  • 这篇博客你也可以参考下:mysql 和 MariaDB 数据库时间和程序查询出时间不一致问题
  • 除此之外, 这篇博客: mariadb&mysql配置主从同步复制、双主复制中的 1.修改配置文件--->此处只列出必须的配置,完整的配置会在后面列出 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    注意,在配置文件中,如果更改了数据的同步目录,那么该目录要提前创建好,与此相同,log文件的存放目录,也要创建出来(只创建到目录即可),否则mariadb程序将无法启动

    (1)修改Master1配置文件/etc/my.cnf,修改如下:

    datadir = /data/madata/		# 数据库数据文件存放目录-->也是同步目录
    log-bin = /var/lib/mysql/binlogs/master1-bin        #启用二进制日志
    relay-log = /var/lib/mysql/relaylogs/relay-bin                #启用中继日志
    auto_increment_increment = 2    #设定为主服务器的数量,防止auto_increment字段重复,双主的情况下为2
    auto_increment_offset = 1       #自增长字段的初始值,在多台master环境下,不会出现自增长ID冲突
    server-id = 131                 # 用于标识该语句最初是从哪个server写入的,server-id一定要有的 
    log-error = /data/mdata/logs/mariadb.err 		#记录错误日志文件
    log-slave-updates = on          # 建议开启,多主多从时要开启,否则不能同步
    expire-logs-days = 14           # 日志过期时间
    sync-binlog = 1                 # # 确保主从事务安全
    
    #binlog-ignore-db=mysql          # 设置忽略binlog数据库-->根据需要自行设置

    (1)修改Master2配置文件/etc/my.cnf,修改如下:

    datadir = /data/madata/mysql/		# 数据库数据文件存放目录-->也是同步目录
    log-bin = log-bin = /var/lib/mysql/binlogs/master2-bin        #启用二进制日志
    relay-log = /var/lib/mysql/relaylogs/relay-bin                #启用中继日志
    auto_increment_increment = 2    #设定为主服务器的数量,防止auto_increment字段重复
    auto_increment_offset = 2       #自增长字段的初始值,在多台master环境下,不会出现自增长ID冲突
    server-id = 132                 # 用于标识该语句最初是从哪个server写入的,server-id一定要有的 
    log-error = /data/mdata/logs/mariadb.err 		#记录错误日志文件
    log-slave-updates = on          # 建议开启,多主多从时要开启,否则不能同步
    expire-logs-days = 14           # 日志过期时间
    sync-binlog = 1                 # # 确保主从事务安全
    
    #binlog-ignore-db=mysql          # 设置忽略binlog数据库-->根据需要自行设置

    重启数据库使配置生效

  • 您还可以看一下 CSDN讲师老师的MySQL/MariaDB 并发复制架构演变课程中的 MySQL/MariaDB 并发复制架构演变(上)小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^