标签: Mariadb
constraintscheck-constraints
我有一张这样的桌子:
CREATE TABLE test (
height int(10) CHECK(height>5)
);
当我尝试通过以下方式删除检查约束时:
ALTER TABLE test DROP CONSTRAINT height;
我收到了以下错误消息:
ERROR 1091 (42000): Can't DROP CONSTRAINT `height`; check that it exists
下面是显示创建表测试命令输出:
+-------+-----
更换笔记本电脑的硬盘后,我意识到我忘记备份数据库了。我仍然有旧的驱动器作为外部硬盘,但我不能启动到它
新旧机器上的操作系统都是Ubuntu 16.04,MariaDb版本都是10。*数据库都是innodb
我尝试将新安装的datadir指向旧的datadir,但这导致mysqld永远无法启动
我仍然拥有完整的磁盘,包括旧的mariadb二进制文件。有什么方法可以让我运行这些吗?我只需要它们几分钟来做备份。我不知道指向旧的datadir是否有效。
为了将数据从旧服务器移动到新服务器,我所做的工作(
关于从集群中删除节点,有很多文档和在线提及,您只需执行以下操作:
SET GLOBAL wsrep_desync = ON;
SET GLOBAL wsrep_on = OFF;
但是,这似乎根本不会从集群中删除节点,在其他节点上所做的更改仍然会传播到此节点,而在应该删除的节点上所做的更改仍然会传播到集群的其余部分 我在发布此问题时找到了原因,但可能对其他人有用。在已解除同步的节点接收到导致db上的读取锁定的操作之前,它将保持同步。有点令人困惑的行为,但一旦理解就可以了
我正在从事一个项目,在这个项目中,我必须从导出的sql文件中找到有关数据库结构的所有信息。在处理项目时,我看到有一些表将其排序规则设置为默认值,这意味着数据库的排序规则,但我无法从sql文件中找到有关数据库排序规则的任何信息。
文件中唯一与排序规则相关的行是:
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
是否可以从此行获取数据库的排序规则?导入sql文件时,服务器如何知道表的排序规则?您使用的是哪种dbms
我在学校有一项任务,就是将一些CSV数据加载到我的MariaDB实例中。进口货物如下:
LOAD DATA LOCAL INFILE 'products.csv'
INTO TABLE products
CHARSET utf8
FIELDS
TERMINATED BY ','
ENCLOSED BY '"'
LINES
TERMINATED BY '\n'
IGNORE 1 LINES
(product_id, name ...)
;
SQL和CSV文件都位
我想通过存储过程在动态条件下从表中返回多条记录。是。每个SELECT都会传递任意行数的一个结果集。调用代码必须有一个循环才能获取结果集。在这种情况下,像解析普通SELECT一样解析行
细节取决于您使用的语言。谢谢Rick的回答,我使用的是Java语言,但我关心的是,当我在过程中使用两个SELECT语句时,它所做的是。。它只返回第一个结果集,所以如果可能的话,你能告诉我如何返回多个结果集吗?一个关于动态结果集的快速网络搜索。我不是Java程序员。
默认的MySql连接可用于连接到MariaDB。您可以看到以下答案进行澄清:
但是,它看起来就像配置MySql连接一样简单。默认的MySql连接可以用于连接到MariaDB。您可以看到以下答案进行澄清:
但是,它看起来就像配置MySql连接一样简单。谢谢链接很有帮助谢谢链接很有帮助
我正在尝试使用MariaDB中主键的AUTO_INCREMENT选项创建一个表。下面是创建db表的示例:
CREATE TABLE mytable (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50),
PRIMARY KEY (id)
) AUTO_INCREMENT=1;
当我尝试插入行时:
INSERT INTO mytable (name) VALUES ('name1'), ('name2'), ('name3');
行未
我刚刚尝试使用PHP7和mysqli在MariaDB中创建下表:
CREATE TABLE $tb_bad_log (
ip varchar(255) NOT NULL default '',
name varchar(255) default NULL,
nr_tries int(1) NOT NULL default '0',
last_try varchar(255) NOT NULL default '',
blocked enum('Y','N') NOT NULL
清楚地说明了如何设置服务器默认值,如字符集和排序规则。因此,我打开我的Mariadb控制台并运行:
SET character_set_server = 'utf8mb4';
SET collation_server = 'utf8mb4_slovak_ci';
控制台写的不错。
然后重新启动服务器,但当我试图创建新数据库时,仍然有相同的拉丁字符集和瑞典排序规则。
我通过Symfony-cosole命令自动执行此操作
php bin/console doctrine:database:crea
我有一个旧的MySQL查询来查找一个始终运行良好的免费ID(0.0325秒)。但现在我换成了MariaDB,速度非常慢(超过30秒)
“codice”是主要指标
旧数据库是MySQL 5.1.73,新数据库是MariaDB 5.5.52
我复制了表(导入/导出数据库和数据),删除并重新创建了索引,但新数据库中的查询总是很慢
我读过一些答案,其中更改的索引(codice+1)会破坏索引并强制MySQL扫描整个表,但我认为情况并非如此,因为在旧的MySQL数据库中,查询速度很快
有什么建议吗
编辑
我想为我的MariaDB服务器分配更多内存,但在查找正确的my.cnf文件时遇到困难
基本上我想编辑innodb_buffer_pool_大小
这是/etc/my.cnf中my.cnf文件的内容
[mysqld]
bind-address = ::
skip_name_resolve
local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling
我有以下MySQL数据库表:
CREATE TABLE `example` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`ip` BIGINT(11) NOT NULL,
`ipv6` VARBINARY(16) NOT NULL
PRIMARY KEY (`id`)
);
我的目标只是在新的IPv6列中将现有的IPv4 IP地址复制/转换为IPv6格式。因此,我运行了以下查询,该查询在我的所有测试用例中都运行良好:
UPDATE example SET i
我有两张桌子:主桌和副桌。两者都是InnoDB表
第一个分区是按范围分区的,当前只有一个分区
| main | CREATE TABLE `main` (
`main_id` int(10) NOT NULL AUTO_INCREMENT,
`type` varchar(64) DEFAULT NULL,
`username` varchar(64) DEFAULT NULL,
`file_name` varchar(256) DEFAULT NULL,
`the_date`
我有一个带有2个节点的Mariadb Galera集群,它已经启动并运行
在进入生产环境之前,我希望确保如果节点突然崩溃,它应该自行启动
我尝试过使用systemd restart,但在终止mysql进程后,mariadb服务无法启动,因此,是否有任何工具或方法可以用于在崩溃后自动启动节点 Galera群集需要有仲裁3个节点
为了避免大脑分裂的情况,建议集群中的最小节点数为3。阻止状态传输是另一个需要至少3个节点的原因,以便在其中一个成员出现故障并需要重新启动时享受服务可用性。虽然其中两名成员将
我希望序列的返回值为INT类型。我创建了一个在INT值范围内具有MINVALUE和MAXVALUE的序列:
CREATE SEQUENCE SEQ_NAME
START WITH 1
INCREMENT BY 1
MINVALUE = 1
MAXVALUE = 2147483647;
但如果我使用了BIGINT
选择NEXTVAL(SEQ_NAME)在许多情况下,特定的int类型应该很重要。请详细说明它是如何给你一个问题。这不是一个激烈的问题,我也可以与BI
标签: Mariadb
multi-master-replication
假设我们有两个应用服务器(app1和app2),并且我们设置了具有两个节点(node1和node2)的多主MariaDB群集,而没有任何HAProxy。我们可以将app1连接到node1,将app2连接到node2,并将app1和app2都写入node1和node2吗
它会导致任何冲突吗?Galera解决了Master出现的大多数问题:
如果其中一位大师死了,现在怎么办?Galera从其3个故障节点中的任何一个恢复
如果在多个主机中插入相同的唯一的键值,则M-M挂起;Galera向最后一个客户
标签: Mariadb
common-table-expression
我正在使用MariaDB 10.2.6。当用户使用root用户运行语句时,它会工作。但是,如果我尝试与另一个用户(具有有限的访问权限)一起使用它,它会失败,说我没有权限对动态生成的视图执行选择。我无法显式地将SELECT授予该表,因为它不存在
下面是WITH RECURSIVE语句:
with recursive hierarchy (id, parent_department_id) as
(
SELECT id, parent_department_id
正在研究Fedora 26。已安装mariadb 10.1.26,但我需要10.2.2上提供的一些功能
要从MariaDB存储库安装MariaDB server 10.2,似乎有必要删除MariaDB config和MariaDB common,因为某些文件存在冲突:
# dnf install MariaDB-server
Last metadata expiration check: 0:39:56 ago on Thu 21 Dec 2017 02:25:04 AM CET.
Depend
aaa表正在使用,aaa2表已在几天前备份
我把它复制到“cp aaa aaa2”。
我不小心更改了aaa表数据。
aaa无法终止,因为它有最新的数据
aaa2是phpmyadmin中1932年的一个“正在使用”错误
如何恢复aaa2
Error message:
Error: Table 'db.aaa2' doesn't exist in engine
status: Operation failed
引擎是InnoDB
==================================
标签: Mariadb
common-table-expression
我试图在MariaDB 10.3.14中的DELETE语句中使用CTE(因为CTE比派生表更适合我使用),但我似乎无法让它工作。
我花了很多时间试图解决这个问题,但每次我都会出现“语法错误”,我真的不知道为什么。
当我重写命令以使用派生表时,它就可以工作了
让我给你看一个非常简单的例子。
这不起作用(使用CTE):
这项工作没有问题(派生表):
我不明白为什么第一个例子给了我语法错误。
关于这个问题的文献资料相当有限
请理解,这只是向您展示问题的最简单示例。
我有更复杂的场景,在这些场景中,使用
我想每天每小时从我的MariaDB数据库中获取1个条目
我有一个这样结构的表,还有一些列:
+------------+-----------+
| dayOfMonth | hourOfDay |
+------------+-----------+
假设此表是这样填写的:
+------------+-----------+
| dayOfMonth | hourOfDay |
+------------+-----------+
| 11 | 0 |
|
我在连接数据库时遇到一些问题,因为我已达到max\u user\u connections限制,可以重新启动服务或从web控制台或cli重置所有连接?请参阅手册中的KILL connection:请发布有关数据库代码的详细信息和代码片段。只有您可以停止并建立连接。您如何进行连接池?没有人期望你的应用程序使用MariaDB连接。你的数据库名是什么?
我有一张有数百万行的大桌子。大部分数据分析的基础将是一个10位数的列,如下所示
4047535609
6099526199
6014157747
3045308020
对于许多查询,我只需要前6位数字。计划是为该列编制索引,但我很好奇,创建子字符串的索引(如left(sku,6))或仅仅为整个列编制索引是否会有很大的不同。我应该注意到,大多数查询都会涉及到公共前6位的分组
HD空间并不是一个真正的问题,但由于可能有1500-2000万行,我对索引的基数很好奇
编辑:我将列名改为sku而不是id
我从forward Engineering数据库中得到以下错误:
错误代码:1064。您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,了解使用“CONSTRAINTfk_Employees\u EmployeeTitle1外键('EmployeeTitle\u EmpT'位于第9行)附近的正确语法
代码对我来说很好,我不知道从这里到哪里才能让它工作。代码如下:
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_C
标签: Mariadb
mysql-error-1045centos7
我希望有人能在这里帮助我。在Centos 7中,我发现的所有安装文档都说使用了MariaDB而不是mysql,这很好,但我似乎无法启用远程访问。我使用了“将所有内容授予由“您的根密码”标识的用户@地址”和刷新权限,并重新启动了服务。我仍然无法通过远程终端进行连接,我收到错误1045(28000):用户用户名的访问被拒绝
因此,我发现另一篇文章说,我应该去我的my.cnf文件,并确保我的绑定设置是正确的等等
根据本文显示的内容,my.cnf文件与应该的完全不同。不包含绑定地址或跳过网络或端口或任
标签: Mariadb
database-replicationgaleradatabase-cluster
使用普通的Mysql复制,我们可以通过以下方式忽略表:replicate\u ignore\u table
我找不到任何关于Galera群集复制是否可以做到这一点的信息
我希望忽略一个不重要的表,以便在对数据库执行操作时不必获取集群范围的锁。一个解决方法是将表设为MyISAM或内存。对于忽略一个不重要的表,将其转换为MyISAM和galera群集自动忽略此项。找到答案了吗??我也有同样的问题
有人能解决主题中提到的问题吗。我最近从MySQL切换到MariaDB,一切都很好,直到突然我无法再连接到数据库。在任何设置中都没有做任何更改,但MariaDB只是停止了工作,下面是我可以从日志中收集到的信息
Aug 25 11:26:50 gpsdata-01 mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql
Aug 25 11:26:50 gpsdata-01 mysqld: 2016-08-25 11
我正在尝试使用MaxScale CDC和MariaDB veriosn 10.0.32设置到卡夫卡的实时数据流。配置复制后,我将获得以下状态:
从属I/O线程停止,因为在尝试选择@master\u binlog\u校验和时遇到致命错误
以下是我的所有配置:
MariaDB-配置
最大刻度配置
开始复制
复制状态
binlogrouter执行以下查询,以设置@master_binlog_校验和的值。实际复制从机执行相同的查询
SET @master_binlog_checksum = @@glob
我有一个应用程序已经在MariaDB 10.1.41上运行了一段时间了。最近一个dev数据库升级到了10.2.33,现在它不允许我们对SSH使用自签名证书。我们需要服务器间通信来进行复制,到目前为止,这些证书都还可以。
我一直在试图找出这次升级的原因,但目前为止我所能找到的一切都表明,自签名证书可能根本不应该起作用。
更新后,我们确实遇到了一些其他问题-主要是由于默认启用了严格模式-这些问题已经解决,但我找不到任何迹象表明我们的证书不再工作。你是指SSL/TLS,而不是SSH(安全外壳),我想是
标签: Mariadb
multi-master-replication
我在MariaDB中有一个多主环复制设置。3台服务器
我的一台服务器的磁盘空间用完了,我最终需要重新启动服务器。现在,在执行此操作之后,两个从属服务器将在从属状态中报告此错误
Last\u IO_错误:从二进制日志读取数据时从主机收到致命错误1236:“错误:连接从机请求从GTID 1-1-426253启动,该从机不在主机的二进制日志中”
我真的很困惑如何从这个错误中恢复我的从服务器,有人能告诉我如何告诉这个从服务器从它的主服务器上正确的GTID开始吗
谢谢你,这是我的masters binlo
我将从MySQL访问MariaDB,我创建了表级授权,但当我这样做时,它只提供:
允许在上使用。发送至用户@%,由密码“xxxx”标识
我做的赠款如下:
将数据库.table上的SELECT、INSERT授予用户
是否不显示表级授权?要获得表级权限,需要使用不同的语法。例如:
GRANT SELECT, INSERT ON dbname.tablename TO user@localhost;
以下内容为您提供了数据库级别的权限:
GRANT SELECT, INSERT ON dbname.
标签: Mariadb
mybatismybatis-generator
我在连接mariadb时发现生成的映射接口中缺少一些方法,mapper生成的是:
public interface Mapper {
int insert(Record record);
int insertSelective(Record record);
}
应该是什么:
public interface Mapper {
int deleteByPrimaryKey(Record id);
int insert(Record record);
我们有5个节点的MariaDB Galera集群。在我们的例子中,一个MyISAM表被删除,之后整个集群崩溃。我读过其他博客/问题,但需要一些关于这种情况下内部工作的知识
**我需要理解-
1.启动了一个drop table命令,从日志中可以清楚地看出,在其他节点中找不到要删除的记录(因为它是MyISAM),因此一致性受到影响,所以集群宕机。MyISAM复制DDL语句,那么为什么它要跨所有节点检查表的内部记录?它不应该直接删除表而不比较其他节点上的记录,因为它是drop而不是delete语句。(
标签: Mariadb
database-connectionazure-aks
正在使用azure db服务器,但在azure Kuberenetes服务的pod中运行的spring boot应用程序中不断出现此错误。无法解决此问题。数据库服务器长时间处于非活动状态。重新启动数据库服务器。-请阅读我们的页面并编辑您的问题以改进它。好的问题往往能从社区得到快速、更好的答案。
我正在尝试更改2列的类型。第一个命令有效,但第二个命令给出了同一命令的语法错误:
> show full columns from KernelParams;
+-------+------------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| Field | Type | Colla
标签: Mariadb
database-replicationmaxscale
我在2台服务器(srv50/51)上进行了配置,
其中一个是主人,另一个是奴隶
下面是我的配置文件/etc/maxscale.cnf的配置:
[Read-Only Service]
type=service
router=readconnroute
servers=server50, server51
user=YYYYYYYYYYYYY
passwd=XXXXXXXXXXXXXX
router_options=slave
[Write-Only Service]
type=service
r
我想使用CONNECT引擎将外部文件读入MariaDB。但是,当尝试读取文件时,我收到一条错误消息:
MariaDB [test]> create table test ( name varchar(100), team varchar(100) ) engine=CONNECT table_type=CSV file_name='/tmp/data.csv' header=1 sep_char=',' quoted=0;
Query OK, 0 rows affected (0.24 s
我在Ubuntu系统上安装了一个两节点的MariaDB Galera集群。一个简单的应用程序使用MaxScale连接到数据库,它运行良好。但是,当集群中当前正在使用的节点(例如节点1)出现故障时,应用程序会出现错误,例如1927或1045。收到此错误后,应用程序将再次尝试连接到数据库,但多次失败,但一旦从节点1到节点2的故障转移完成,并且MaxScale将数据库连接到节点2,应用程序就会成功。在我的群集环境中,连接测试持续时间从20秒到50秒不等
我的问题是,是否有任何MaxScale连接超时参
我试图在Turris OS(OpenWrt omnia 15.05 r47055)上托管的LXC容器中的空白Alpine Linux 3.6上安装mariadb
权限被拒绝错误导致安装失败。我改变了特权,但安装程序仍然失败
root@alpinelxccontainer:~# DB_DATA_PATH="/var/lib/mysql"
root@alpinelxccontainer:~# DB_ROOT_PASS="heslo"
root@alpinelxccontainer:~# DB_USE
标签: Mariadb
regexp-replacebackreference
我在一个用户定义的函数中有一个简单的正则表达式
set mm = regexp_replace(in_str, '^M([0-9]+(\.[0-9]+)?).*$', '\\1');
在MariaDB 10.1中传入'M56-5'时,我会得到预期的“56”,但在MariaDB 10.4中,我得到一个错误“第1行'mm'列的数据被截断”。当我传入“M56.5”时,两个版本中的“56.5”都达到了预期效果。有什么变化吗?我想出来了。我错误地使用了一个反斜杠来转义“.”,而转义特殊字符时需要使用两个
我已经从mariadb 10.1.36升级到10.4.8,我可以看到新版本上神秘增加的ram Usage。我还编辑了innodb_buffer_pool_size ant,如果将其设置为15M或4G,则似乎没有效果,ram只是在缓慢增加。在它吃掉整只公羊和杀死mariadb后,这是重复的
我的服务器有8GB的RAM,每天大约增加60-150MB。这并不可怕,但我有大约150个数据库服务器,所以这是一个巨大的问题
我可以通过重新启动mariadb并重新启动它来临时修复问题
有关数据库服务器的信息:
我已经在Ubuntu上安装了ERPNext,现在我有一个特定的要求,我想在Windows操作系统上安装它
我已经下载了以下先决条件
1.Python 2.7
2.MariaDB
在windows上安装ERPEXT的正确步骤是什么 ERPEXT与windows尚不兼容,因为它使用一些unix实用程序。ERPEXT与windows不兼容。
如何在Windows中使用虚拟机
所以
VM:
在Microsoft Windows
通过遵循这些
之后,按照以下步骤操作
安装步骤:
从安装WAMPserver
我安装了HeidiSQL来使用MariaDB。
当HeidiSQL创建并打开会话时,出现以下消息
/ * Start "MyDB" session * /
/ * Access denied * /
访问被拒绝,但基本SQL可用
环境:Win10 x64、MariaDB 10.3、HeidiSQL 9.5.0.5196
有人能帮我解决这个问题吗?我建议更新到最新版本,因为你的版本已经过时了
下面的问题也回答了类似的问题
基本上,“拒绝访问”错误告诉您可以建立物理连接,但缺少帐户所需的权限
我希
是否有一种简单的方法可以创建一个用户并将所有权限授予除特定数据库之外的所有数据库
我试过这个
CREATE USER 'demo'@'%' IDENTIFIED BY 'QbSv9qUj2EJ8mxm2';
GRANT ALL PRIVILEGES ON *.* TO 'demo'@'%';
REVOKE ALL ON id8694160_sqless.* FROM 'demo'@'%'; -- this is the DB I don't want the user to have acces
在RHEL6中安装MariaDB并使用服务启动mysql启动服务器会出现错误
131007 02:56:13 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
131007 02:56:13 mysqld_safe WSREP: Running position recovery with --log_error= --pid-file=/va
我们在5节点群集的节点1上遇到错误。从客户端的角度来看,对节点1的查询似乎成功了,但未能插入。我们看到很多autoinc错误,尽管autoinc不应该参与更新查询。此外,这似乎会导致性能问题,直到发生更高优先级的事务,使节点脱机以执行事务重播。下面是启用调试的error.log中的一些条目以及安装程序的演练。我们不知道如何进一步排除故障
使事务继续的唯一方法是让所有客户端删除并重建连接池
有关设置的一些详细信息:
5个节点都充当其本地服务器的主节点
全部通过广域网连接
节点1还具有用于网站访问
我已被声明为IF语句,如下所示
set @number_of_technicians = (select COUNT(*) from additional_participants where username = 'JK1001');
IF @number_of_technicians > 0 THEN
select @number_of_technicians as amount;
END IF
[SQL]
set @number_of_technicians =
标签: Mariadb
deadlockdatabase-deadlocks
我的应用程序使用master Galera复制设置在Maria DB上运行
该应用程序可以处理死锁,但我一直在努力减少在它们填满我的日志文件时发生的死锁。还有一个事务经常出现死锁,我不知道如何避免它
该过程从一个表中删除一条记录,对其他表执行两个操作,然后最后将一条记录插入原始表中。
交易大致如下所示:
1. DELETE FROM table_a WHERE `id` = 'Foo'
2. REPLACE INTO table_b ( ... )
3. UPDATE table_c SET .
我已经建立了一个MariaDB Galera集群。在我尝试引导第一个节点之前,一切都很顺利。所有命令都已成功,但状态变量显示它不工作;群集大小为零,wsrep_ready已关闭。我将wsrep_设置为on=on,但没有任何作用。感谢您的帮助。我正在使用Raspbian/Raspberry Pi OS操作系统和MariaDB 10.3。我修复了它,不确定问题出在哪里,但在遵循教程并在其中使用示例配置后,问题消失了
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 14 页