我正在使用mac端口使用以下命令安装mariaDB:
sudo port install mariadb-server
安装文件后,我不知道接下来会发生什么?
我试图找到任何配置指导,但我失败了,有没有人对从mac端口安装后的后续步骤有一些指导(比如如何启动和停止,配置等)
http://en.wikipedia.org/wiki/MariaDB
MariaDB是一个社区开发的MySQL数据库分支,其推动力是在GNU GPL下社区维护其免费状态,而不是Oracle当前所有权下MySQL许可状态的任何不确定性.贡献者必须与Monty Program AB分享他们的版权.
该页继续说MariaDB 5.5与相同版本的MySQL二进制兼容,并添加了几个自己的数据库引擎可供选择.
我还读到 Fedora 19将删除MySQL包,转而使用MariaDB.
所以问题是,Ruby on Rails 3+与MariaDB兼容吗?是否有任何未来计划集成MariaDB功能,因为它们开始偏离MySQL?
我已经使用mariadb作为mysql服务器.但是,我不确定使用专为mysql设计的节点包是否适合用于mariadb.
实际上有两个节点包:
我目前使用mysql,因为它似乎非常成熟和维护.它似乎也适用于我的mariadb.
对于mariadb服务器,使用mysqljs/mysql而不是mscdex/node-mariasql是否存在任何限制/不兼容/安全问题?
谢谢
以下两个查询产生截然不同的结果的原因是什么?
MariaDB [mydatabase]> SELECT COUNT(DISTINCT(`price`)) FROM `products`; --Good
+--------------------------+
| COUNT(DISTINCT(`price`)) |
+--------------------------+
| 2059 |
+--------------------------+
1 row in set (0.01 sec)
MariaDB [mydatabase]> SELECT COUNT(DISTINCT('price')) FROM `products`; --Bad
+--------------------------+
| COUNT(DISTINCT('price')) |
+--------------------------+
| 1 |
+--------------------------+
1 row in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)
我已经google了解反引号和撇号(也就是单引号)之间的区别,但是我无法找到任何关于为什么它们会像上面那样对列名进行不同解释的指示.
是不是后一个查询中的单引号字符串实际上没有被解释为列名,而是一个任意的字符串文字,其中可以说是"1"?如果是这样,要找到任何阐述撇号这个意义的页面并不容易.
我想编写简单的python应用程序并使用dockerfile放入docker conteiner.我的dockerfile是:
FROM ubuntu:saucy
# Install required packages
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install python
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server python-mysqldb
# Add our python app code to the image
RUN mkdir -p /app
ADD . /app
WORKDIR /app
# Set the default command to execute
CMD ["python", "main.py"]
Run Code Online (Sandbox Code Playgroud)
在我的python应用程序中,我只想连接到数据库.main.py看起来像这样:
import MySQLdb as db
connection = db.connect(
host='localhost',
port=3306,
user='root',
passwd='password',
)
Run Code Online (Sandbox Code Playgroud)
当我用以下代码构建docker图像时:
docker build -t myapp .
Run Code Online (Sandbox Code Playgroud)
并使用以下命令运行docker镜像:
docker run -i myapp
Run Code Online (Sandbox Code Playgroud)
我收到了错误:
_mysql_exceptions.OperationalError: (2002, "Can't …Run Code Online (Sandbox Code Playgroud) 通用构建说明:https:
//mariadb.com/kb/en/mariadb/generic-build-instructions/
$ cmake --version
cmake version 3.4.0-rc3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
$ cmake . -DBUILD_CONFIG=mysql_release
$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-apple-darwin11.3.0
$ make
...
...
Users/7stud/Downloads/mariadb-10.1.8/storage/mroonga/vendor/groonga/lib/dat.cpp:191:3: error:
cannot use 'try' with exceptions disabled
try {
^
/Users/7stud/Downloads/mariadb-10.1.8/storage/mroonga/vendor/groonga/lib/dat.cpp:222:3: …Run Code Online (Sandbox Code Playgroud) 我正在使用node.js,Sequelize和MariaDB,并且遇到以下错误,我不确定该如何解决?
错误:在模型playlist_entry上的属性“播放列表”和关联“播放列表”之间命名冲突。要解决此问题,请更改foreignKey或更改为关联定义中的值
我的Javascript:
Entities = function (settings, context) {
sequelize = context.sequelize;
var entities = {
Playlist: this.sequelize.define('playlist', {
name: Sequelize.STRING,
description: Sequelize.STRING
}),
PlaylistEntry: this.sequelize.define('playlist_entry', {
playlist: Sequelize.INTEGER
//track: Sequelize.INTEGER
})
};
entities.PlaylistEntry.belongsTo(
entities.Playlist,
{ foreignKey: { name: 'fk_playlist' }});
return entities;
}
Run Code Online (Sandbox Code Playgroud)
我的桌子:
CREATE TABLE `playlist` (
`id` int(11) unsigned NOT NULL,
`name` varchar(255) NOT NULL,
`description` varchar(255) DEFAULT NULL,
`createdAt` timestamp NULL DEFAULT NULL,
`updatedAt` timestamp NULL DEFAULT NULL,
`external_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE …Run Code Online (Sandbox Code Playgroud) 我可以找到大量关于严格模式在 MySql 和 MariaDB 中的作用的信息,但没有关于何时使用它的信息。这在一定程度上是常识,但我仍然希望有一些一般准则。例如,也许您:
安装后,当我运行 mysql status/start 时,它总是抛出以下错误
root@3ab94b27a215:~# service mysql status
/usr/sbin/mysqld: error while loading shared libraries: liblz4.so.1: cannot open shared object file: Permission denied
* MariaDB is stopped.
Run Code Online (Sandbox Code Playgroud)
我在这里找到文件
root@3ab94b27a215:~# find / -name liblz4.so.1
/usr/lib/x86_64-linux-gnu/liblz4.so.1
Run Code Online (Sandbox Code Playgroud)
我将 777 权限设置为 /usr/lib/x86_64-linux-gnu/liblz4.so.1
chmod 777 /usr/lib/x86_64-linux-gnu/liblz4.so.1
Run Code Online (Sandbox Code Playgroud)
但错误仍未解决。
你能帮我解决这个问题吗?
我正在尝试使用以下命令在 windows linux 子系统中启动 MariaDB
sudo apt-get update
sudo apt-get install mariadb-server
sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
但收到以下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory")
Run Code Online (Sandbox Code Playgroud)
我知道,这不是一个新问题,我阅读了很多关于 Ubuntu 下的其他解决方案来解决这个问题,但到目前为止没有任何效果。有没有人知道如何让它继续下去?
谢谢你
mariadb ×10
mysql ×5
node.js ×2
database ×1
docker ×1
dockerfile ×1
installation ×1
javascript ×1
macos ×1
macports ×1
php ×1
python ×1
sequelize.js ×1
sql ×1
ubuntu ×1
ubuntu-16.04 ×1