多实例的mysql 怎么自动开启event 现在event_scheduler 是DISABLED

多实例的mysql 怎么自动开启event 现在event_scheduler 是DISABLED,第1张

我的mysql装在linux上,今天也出现了这种问题,报的错为:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statementlinux下需要找到my.cnf文件,看配置中是否有skip-grant-tables 这一行,需要注释掉。然后进入命令行输入:set global event_scheduler =on或者set global event_scheduler =1都可以。Windows下的话应该是需要找到my.ini文件,之后的 *** 作和上面一样。至于skip-grant-tables的意思,百度吧。里面有详细的讲解。skip-grant-tables作用是跳过验证,有了这个其实你可以把之前的忘记的密码修改掉。 步骤1、在命令窗登录mysql。切换库为mysql库。2、update user set password=PASSWORD('newpswd')WHERE user='root'3、flush privileges4、退出命令窗重启mysql服务,在使用修改时候的密码登录一下看看如果成功登录,应该就可以设置event事件任务了

由于在写MySQL日志订阅服务时候,需要确定在什么event之后保存position,所以就开始研究MySQL的源码,刚开始采用最原始的打印输出的方式去调试,然后每次改完编译运行,效率好低,让我很绝望,然后我花了些时间研究下怎么使用CLion Debug MySQL。

获取源码

git clone https://github.com/mysql/mysql-server

编译安装初始化数据库

cd mysql-server

cmake \

-DCMAKE_INSTALL_PREFIX=/path/mysql/install \

-DMYSQL_DATADIR=/path/mysql/data \

-DSYSCONFDIR=/path/mysql/etc \

-DMYSQL_UNIX_ADDR=/path/mysql/mysql.sock \

-DWITH_DEBUG=1 \

-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path/mysql-server/ -DDOWNLOAD_BOOST_TIMEOUT=60000

make -j 4

make install -j 4

mysqld --initialize-insecure --user=root --datadir=/path/mysql/data

启动MySQL,测试下是否安装成功

/path/install/bin/mysqld --defaults-file=/path/mysql/etc/my.cnf

使用CLion新建工程并打开源码目录之后,设置CLion

CMake Options和你编译安装时的选项一致

-DCMAKE_INSTALL_PREFIX=/path/mysql/install

-DMYSQL_DATADIR=/path/mysql/data

-DSYSCONFDIR=/path/mysql/etc

-DMYSQL_UNIX_ADDR=/path/mysql/mysql.sock

-DWITH_DEBUG=1

然后在CLion里,Reload CMake Project

在Run/Debug列表里就可以看到很多选项了

找到mysqld配置下启动参数

mysqld --defaults-file=/path/mysql/etc/my.cnf

然后以Debug模式启动,看下成功的效果


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7173903.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存