如何使用navicat连接mysql数据库

如何使用navicat连接mysql数据库,第1张

首先你电脑上必须安装了mysql的数据库。(如果你不清楚自己是否已经安装成功mysql,你可以在开始菜单输入“mysql”,进行搜索)

打开你的Navicat

for

Mysql

(这里也可以使用上面的方法,在开始菜单搜索框中输入‘navicat’)

打开后单机工具栏左边第一个‘connection’,进入连接页面。

最重要的一步:打开的界面有五个框需要输入,第一个:connection

Name

需要输入的是你新建的连接的的名字,这里我们就命名为‘本地’,第二个:

Host

Name/Ip

Address

你需要输入的是你本机的ip地址或者直接输入’localhost’,这里我们选择第二种。

第三个:Port

,输入你安装时候的端口号,一般为默认的3306;第四个和第五个分别为:UserName和Password,意思为你需要输入你数据库名用户名和密码,我的用户名是:root,密码:(保密,嘿嘿)。最后把下面那个‘Save

Passwod’的小框框给勾上。

完成上面步骤,然后点击左下角有个‘Test

Connectiion’如果d出success,恭喜你直接点击右下角的‘save’按钮就可以了。如果d出error

,你则需要再重新仔细查看自己哪里填错了。

点击‘save’后,你就可以双击“本地”(这里的‘本地’是你刚才输入的connection

Name),然后打开你的数据库了。

在开发过程中经常会遇到这样一个问题:

每天必须定时去执行一条sql语句 或更新或删除或执行特定的sql语句。

MySQL的客户端工具Navicat for MySQL提供了计划任务的形式,可以很好地实现该功能,而且也确实可行,比如像定时备份就做的很好。

然而当在执行的语句中包含有中文的时候,却无法定时执行了。

那么就想到用mysql的event计划任务去实现:

要想执行event事件,就必须保证mysql的版本的5.1.6以上,否则会报如下错误:

1、要想保证能够执行event事件,就必须保证定时器是开启状态,默认为关闭状态

set GLOBAL event_scheduler = 1

set GLOBAL event_scheduler = ON

要查看当前是否已开启事件调度器,可执行如下SQL:

SHOW VARIABLES LIKE 'event_scheduler'

2、如果原来存在该名字的任务计划则先删除

drop event if exist upload_to_sdmp

3、执行事件

event事件语法格式:

[sql] view plain copy print?

<pre name="code" class="sql">CREATE EVENT [IF NOT EXISTS] event_name

ON SCHEDULE schedule

[ON COMPLETION [NOT] PRESERVE]

[ENABLE | DISABLE]

[COMMENT 'comment']

DO sql_statement

schedule:

AT TIMESTAMP [+ INTERVAL INTERVAL]

| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

INTERVAL:

quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |

WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |

DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

例如:

-- 设置时区并设置计划事件调度器开启,也可以 event_scheduler = ON

[sql] view plain copy print?

set time_zone = '+8:00'

set GLOBAL event_scheduler = 1

-- 设置该事件使用或所属的数据库base数据库

use test

# 如果原来存在该名字的任务计划则先删除

drop event if exists upload_to_sdmp

# 设置分隔符为 '$$' ,mysql默认的语句分隔符为 '' ,这样在后续的 create 到 end 这段代码都会看成是一条语句来执行

DELIMITER $$

# 创建计划任务,设置第一次执行时间为'2014-07-30 10:00:00',并且每天执行一次

create event upload_to_sdmp

on schedule every 1 day starts timestamp '2014-07-30 10:00:00'

#on schedule every 1 SECOND

do

# 开始该计划任务要做的事

begin

-- do something 编写你的计划任务要做的事

INSERT aaa VALUES (3,'222')

INSERT aaa VALUES (2,'222')

-- 结束计划任务

end $$

# 将语句分割符设置回 ''

DELIMITER

4、查询事件的运行状态

修改事件语法格式:

[sql] view plain copy print?

ALTER EVENT event_name

[ON SCHEDULE schedule]

[RENAME TO new_event_name]

[ON COMPLETION [NOT] PRESERVE]

[COMMENT 'comment']

[ENABLE | DISABLE]

[DO sql_statement]

5、关闭\打开事件:

[sql] view plain copy print?

关闭事件:

ALTER EVENT upload_to_sdmp DISABLE

[sql] view plain copy print?

开启事件:

ALTER EVENT upload_to_sdmp ENABLE

6、查询事件是否开启

[sql] view plain copy print?

select * from mysql.event

注意:真实的开发环境中,会遇到mysql服务重启或者断电的情况,此时则会出现事件调度器被关闭的情况,所有事件都不在起作用,要想解决这个办法,则需要在mysql.ini文件中加入event_scheduler = ON的语句


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

原文地址:https://54852.com/zaji/8628180.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存