如何在cmd中关闭Mysql
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在cmd中关闭Mysql相关的知识,希望对你有一定的参考价值。
如何在cmd中关闭mysql
参考技术A 1、确定你的mysql 是否能正常工作登录数据库
cmd--“命令提示字符”窗口录入,
录入cd C:\mysql\bin
并按下回车键,将目录切换为 cd C:\mysql\bin
再键入命令mysql -uroot
-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了。
MYSQL的提示符是:mysql>
2、显示数据库
使用这个 show databases;
看是否有返回值。
如果出错,那可能是的的mysql安装的有问题。
重新配置
在c:\windows\my.ini
看看
user=root
password=
这两项。
(3)
更改MySQL数据库目录
a) 打开cmd命令提示符窗口,输入命令:net stop mysql 停止MySQL服务运行;b)
打开X:\Server_Core\MySQL\my.ini,
找到:
Datadir =
“X:\Server_Core\MySQL\data”
修改为:
Datadir = “X:\Database”
c)
将X:\Server_Core\MySQL\data 文件夹复制到X:\,并重命名为X:\Database;
d)
打开cmd命令提示符窗口,输入命令:net start mysql 启动MySQL服务。
e) 重新测试MySQL是否工作正常。
(4)
准备LibMySQL动态链接库
将X:\Server_Core\MySQL\bin\libmySQL.dll 文件
复制到
C:\Windows\System32
当安装完MySql后,每次windows启动的时候都会将MySql服务启动起来.
如果是winxp则不需要使用管理员权限既可以很简单的打开和关闭,具体在cmd中敲入命令:
1.启动MySql服务: net start mysql
2.停止MySql服务: net stop mysql
但是在Win7或者是Vista中,启动普通的cmd来启动或者停止MySql服务是无法成功的,
提示:发生系统错误5,拒绝访问
因为没有使用管理员权限启动cmd.
因此可以通过使用管理员权限来启动cmd解决这个问题,具体可以见启动管理员CMD.
如何在 Rails 中关闭 MySQL 严格模式
【中文标题】如何在 Rails 中关闭 MySQL 严格模式【英文标题】:How to turn off MySQL strict mode in Rails 【发布时间】:2014-02-20 14:37:10 【问题描述】:升级到 Rails 4 后,Rails 连接似乎默认开启 MySQL 严格模式。我这样说是因为我的 Rails 应用程序在保存超过 255 个字符的字符串值时收到“Mysql2::Error: Data too long for column”。然而,我将相同的查询粘贴到 MySQL 控制台(据报告全局严格模式已关闭),它工作正常,只是带有截断警告。作为进一步的证据,it says here“Rails 4 默认都使用严格模式”。
我的问题是如何从 Rails 应用程序中关闭严格模式?我宁愿现在避免升级所有东西来支持它。
【问题讨论】:
【参考方案1】:您可以将其添加到您的 database.yml
变量: sql_mode: '传统'或
变量: 严格模式:假见:
https://github.com/rails/rails/pull/8346
【讨论】:
不幸的是,这不起作用。我尝试了innodb_strict_mode
(这是实际变量),但是在保存记录时将其设置为“OFF”或 false 仍然会导致此错误。奇怪的是变量被识别了,因为如果我在同一个地方尝试任何随机变量名称,它会在 Rails 启动时引发异常。
为我工作。另请参阅github.com/rails/rails/issues/25924,了解 Rails 5 的最新变化。【参考方案2】:
@arya 的答案可能不起作用,因为'traditional'
sql 模式是严格的,如果你想将其设置为非严格,试试这个:
sql_mode: ''
希望有帮助
【讨论】:
从 Rails 4.2 开始为我工作。【参考方案3】:试试这个:
# Set MySQL to clear sql mode for all connections
class ActiveRecord::ConnectionAdapters::MysqlAdapter
alias :connect_no_sql_mode :connect
def connect
connect_no_sql_mode
execute("SET sql_mode = ''")
end
end
【讨论】:
这是一个很好的起点,但会导致现代 Rails 出现错误。在我上面的答案中进行了修改。【参考方案4】:按照@edubriguenti 的回答,I found this。在那里应用帖子和评论,我将以下内容添加到environment.rb
,它看起来已经解决了问题。
# Set MySQL to clear sql mode for all connections
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
alias :connect_no_sql_mode :connect
def connect
connect_no_sql_mode
execute("SET sql_mode = ''")
end
end
ActiveRecord::Base.connection.reconnect!
【讨论】:
仅供未来人们看到这一点,这有时对我在 Rails 4.0.3 上不起作用 - 在生产中,sql_mode 有时仍以某种方式设置为严格。我也会尝试在 database.yml 中设置它,也许他们修复了该设置。 好的。它在 4.1 beta 上对我有用。请使用 database.yml 的结果进行更新,因为我还没有尝试过,如果它有效,它显然更干净。 我开始遇到问题,它不再按预期进入严格模式。找到@nimblegorilla 的答案可以正常工作。【参考方案5】:您可以使用strict: false
在您的database.yml 中设置严格模式,如下所示:
production:
host: ...
username: ...
strict: false
https://api.rubyonrails.org/v4.2.8/classes/ActiveRecord/ConnectionAdapters/MysqlAdapter.html
【讨论】:
太好了,这对我有用并记录在案。看起来是正确的选择。 我同意,在我的代码上进行了测试,似乎是 rails 4 的正确选择,而不是 rails 3.2【参考方案6】:mysql2
gem 公开了一个执行initial command on connect and reconnect 的选项。您可以在database.yml
内部设置init_command
:
production:
host: ...
username: ...
init_command: "SET @@SESSION.sql_mode = ''"
【讨论】:
谢谢!这是唯一适用于 rails 3.2 应用程序的应用程序。 此解决方案也适用于 Rails 5.2 应用程序,如果您不想附加到当前 SQL 模式,而是想完全覆盖它以上是关于如何在cmd中关闭Mysql的主要内容,如果未能解决你的问题,请参考以下文章
从 .bat 文件中关闭打开的 cmd 窗口打开应用程序并执行文件