我正在尝试将我的笔记本电脑设置为移动开发环境。在我的 Linux 机器上安装软件并进行配置相当简单,但是我在 Windows 7 Professional 64 位上安装和配置 MySQL 5.1 服务器时遇到了麻烦。我目前正在将 Windows MSI 安装程序用于完整的 MySQL 5.1 系统(与也可用的 Essentials 安装程序相反)。我尝试使用 32 位和 64 位版本的 MySQL 5.1 进行安装 - 两者都发生了相同的事件。
我已经安装了服务器实例配置向导和工作台,一切似乎都安装得很好。当我打开实例配置向导时,我选择了详细配置。在下一个屏幕上,我选择开发环境,然后在下一个屏幕上选择多功能数据库。我保持 InnoDB 设置不变。我选择了 5 个并发连接的手动设置。我在端口 3306 上启用 TCP/IP 网络并启用严格模式。我选择标准字符集。我选中了作为 Windows 服务安装的框(并提供名称“MySQL”)并在 Windows PATH 中包含 Bin 目录。在下一个屏幕上,我设置了我的 root 用户名和密码。我没有从远程机器启用 root 访问,也没有创建匿名帐户。
在向导的最后一个屏幕上,当我单击“执行”时,前两个任务(准备配置和写入配置文件)完成。但是,当它到达启动服务时,向导挂起并变得无响应(标题栏和任务管理器中出现“无响应”)。
我真的很希望能够将我的 Windows 和 Linux 笔记本电脑用作成熟的移动开发环境,但是如果不能运行 MySQL,我就无法做到这一点。有没有人遇到过这个问题?我有什么选择来纠正它?
我正在按照本页上的说明设置用于基因注释的本地数据库。他们提供了一个 .sql 文件来创建一些 MySQL 表结构(步骤 4)和几个数据文件来填充表(步骤 5-7)。我已经通过第 5 步完成了设置过程,但在第 6 步出现错误。令人不安的是,根据我mysqlimport从哪个目录执行命令,我得到的错误是不同的。
standage@farnsworth:~$ mysqlimport -u wendel2go -p --fields-terminated-by='\t' b2g Desktop/gene2accession
Enter password:
mysqlimport: Error: 13, Can't get stat of '/var/lib/mysql/Desktop/gene2accession' (Errcode: 2), when using table: gene2accession
standage@farnsworth:~$ cd Desktop/
standage@farnsworth:~/Desktop$ mysqlimport -u wendel2go -p --fields-terminated-by='\t' b2g gene2accession
Enter password:
mysqlimport: Error: 29, File '/var/lib/mysql/b2g/gene2accession' not found (Errcode: 2), when using table: gene2accession
Run Code Online (Sandbox Code Playgroud)
当我在谷歌上搜索这个错误时,我没有得到非常有用的结果。有任何想法吗?
我正在尝试在没有 root 权限的情况下安装 MySQL。我经历了以下步骤:
/home/martin/mysqlmy.cnf在您的主目录中创建一个文件。文件内容应该是:
[server]
user=martin
basedir=/home/martin/mysql
datadir=/home/martin/sql_data
socket=/home/martin/socket
port=3666
Run Code Online (Sandbox Code Playgroud)进入/home/martin/mysql目录并执行:
./scripts/mysql_install_db --defaults-file=~/my.cnf --user=martin --basedir=/home/martin/mysql --datadir=/home/martin/sql_data --socket=/home/martin/socket
Run Code Online (Sandbox Code Playgroud)您的 MySQL 服务器已准备就绪。使用以下命令启动它:
./bin/mysqld_safe --defaults-file=~/my.cnf &
Run Code Online (Sandbox Code Playgroud)当我尝试更改 MySQL 的密码时,它给出了错误:
无法通过套接字 '/tmp/mysql.sock' 连接到 mysql 服务器
如何更改此路径并查看是否创建了 mysql.sock?
有没有办法限制孩子的数量而不是mysqld产卵?或者不应该担心这一点?我的 VPS 只有 512MB 的内存。
这是htop, 在我设置max_connections为 6 并重新启动mysql服务后的输出:
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
27082 mysql 20 0 136M 28868 5800 S 0.0 5.7 0:00.41 `- /usr/sbin/mysqld
27121 mysql 20 0 136M 28868 5800 S 0.0 5.7 0:00.05 | `- /usr/sbin/mysqld
27099 mysql 20 0 136M 28868 5800 S 0.0 5.7 0:00.23 | `- /usr/sbin/mysqld
27097 mysql 20 0 136M 28868 5800 S 0.0 5.7 …Run Code Online (Sandbox Code Playgroud) show engine innodb status; 在 MySQL Workbench 中不可用,如下所示:
=====================================120329 12:39:32 INNODB MONITOR OUTPUT=====================================Per second averages calculated from the last 17 seconds-----------------BACKGROUND THREAD-----------------srv_master_thread loops: 192438...
Run Code Online (Sandbox Code Playgroud)
但是show engine innodb status \G在 mysql 命令行客户端上很棒。
\GMySQL 工作台上是否有任何等价物或获取此信息的更好方法?
我正在寻找一种方法来减少我为检查 mysql 条目和其他事情所做的输入量。例如,我想创建一个将执行以下命令的 .bat 文件。
mysql -u user -p
*enter in the password*
USE databasename
SELCT * FROM table;
Run Code Online (Sandbox Code Playgroud)
问题是在初始 mysql -u user -p 之后写下的其余命令不会被执行。是否可以在调用诸如 mysql 或其他程序之后继续运行命令,这些程序似乎将其前缀(?)添加到命令的开头(mysql>)。我对术语不是很熟悉,所以如果听起来令人困惑,请原谅我。我也想在其他事情上使用同样的概念。
非常感谢帮助,谢谢。
我正在尝试sync.sh为我们的网站创建一个与我们不太理想的版本控制相协调的脚本。此脚本会将数据库的实时副本迁移到我们的开发环境和其他一些东西。我在 mysql 迁移部分遇到了问题。
该脚本在开发机器上运行。 remote是现场主持人。
# --------------
# database
# ssh tunnel
ssh -L 3307:remote:3306 user@remote
# mysql dump
mysqldump -u someuser -h remote -P 3307 -p"p4ssw0rd" db > localfile.sql
# somehow close ssh tunnel ???
# populate local db with sql dump file
mysql -ulocal db < localfile.sql
# -----------------
# other sync stuff
# ...
Run Code Online (Sandbox Code Playgroud)
当我只运行脚本的 mysql 部分时,我得到了这个输出:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Enter password:
Run Code Online (Sandbox Code Playgroud)
我们已经设置了 ssh 密钥,我可以正确地 ssh …
我有和这里类似的问题 。问题是那里提出的解决方案对我不起作用:
就目前而言,我有用户:
+----------+------------------------------------+
| user | host |
+----------+------------------------------------+
| root | 127.0.0.1 |
| root | localhost |
Run Code Online (Sandbox Code Playgroud)
两者都没有密码(就目前而言。我知道这很糟糕!)。
我正在使用以下命令连接到 mysql:
mysql -u root -h 127.0.0.1 --protocol=tcp
Run Code Online (Sandbox Code Playgroud)
登录后,我得到:
mysql -u root -h 127.0.0.1 --protocol=tcp
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.61-log Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or …Run Code Online (Sandbox Code Playgroud) 我需要在 77777 Anki抽认卡中做一个小的改变,优先以编程方式,而不是通过使用它们的替换工具是不够的。我最初将数据导入为 CSV 文件,其中数据易于修改。我从他们的支持那里得到了答案:他们使用 MySQL 作为数据库:
好吧,对于初学者来说,我假设人们需要了解读取和写入 MySQL 数据库。如果这不是你知道的事情,我会就此打住。
例如,我想知道他们的数据库架构。我想在一个 Deck 上运行的示例伪命令
sed s/;/1)/ [anki-deck's-cards]
Run Code Online (Sandbox Code Playgroud)
其中仅匹配换行符的第一个条目。实际上,要求是做一些简单的算术运算。我不知道他们的 MySQL 的连接器详细信息。我想了解一下他们的 MySQL 详细信息。
如何在 Anki Flashcards 的 Deck 中编辑卡片?
我有一个数据库“代数”,其中包含一个包含 1,033,990 行的“问题”表。记录有一个属性“已解决”,即 INT。我有一个简单的查询
select count(*) from questions where solved = 0
Run Code Online (Sandbox Code Playgroud)
我有两台 CPU 相似的服务器。在两台服务器上,表是相同的。(数据库是生产的副本)。它们在 SSD 上。一台服务器有 Ubuntu 14.04 和 MySQL 5.5.49,另一台服务器有 Ubuntu 16.04 和 MySQL 5.7.12。
问题是这个查询在 MySQL 5.5 上只需要 0.009s,但在 MySQL 5.7 上需要 0.304s。慢了 34 倍!!!
查询计划大致相似:
服务器慢:
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE questions NULL index NULL by_topic_solved 97 NULL 1033990 10.00 Using where; Using index
Run Code Online (Sandbox Code Playgroud)
快速服务器:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE …Run Code Online (Sandbox Code Playgroud) mysql ×10
mysql5 ×2
64-bit ×1
anki ×1
bash ×1
batch-file ×1
command-line ×1
import ×1
localhost ×1
memory ×1
non-admin ×1
performance ×1
process ×1
shell-script ×1
ssh ×1
ssh-tunnel ×1
ubuntu ×1
windows-7 ×1