标签: mariadb

MariaDB数据库损坏:引擎中不存在表

我正处于环境设置中,运行OSX MariaDB 10.0.12-MariaDB Homebrew

我搞砸了安装,所以我从我的设置中完全删除了MySQL和MariaDB,然后重新开始.

完成MariaDB的安装后,我innoDB通过生产服务器上的DB Dump 重新导入了我的数据库().它工作正常.重新启动后,第二天,我无法再访问数据库:

Table 'my.table' doesn't exist in engine

造成这种情况的原因是什么?解决方案是什么?我确实看到了我的数据库的结构,但是当我尝试访问它时,它给了我这个错误信息.

我确实尝试mysql-upgrade --force删除了rm ib_logfile1 ib_logfile0

这里的数据丢失不是问题,问题是我每次重启时都不能花30分钟重新安装每个数据库.

这是一些日志:

140730  9:24:13 [Note] Server socket created on IP: '127.0.0.1'.
140730  9:24:14 [Note] Event Scheduler: Loaded 0 events
140730  9:24:14 [Warning] InnoDB: Cannot open table mysql/gtid_slave_pos from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
140730  9:24:14 [Warning] Failed to …
Run Code Online (Sandbox Code Playgroud)

mysql innodb mariadb

10
推荐指数
3
解决办法
7万
查看次数

MariaDB 10 CentOS 7移动datadir困境

全新的"最小"安装CentOS 7以及MariaDB 10.我有一个额外安装的镜像卷,我想用于datadir.启动序列很好,并且当my.cnf [mysqld]被注释掉时正常完成.我已经复制了数据..

sudo cp -R -p /var/lib/mysql/* /mnt/mysql/
Run Code Online (Sandbox Code Playgroud)

权限与原始权限相同.卷位于/ etc/fstab中并且安装正常 /dev/sdb1 /mnt/mysql xfs defaults 0 0

[root@femur mysql]# ls -la
total 110632
drwxr-xr-x. 5 mysql mysql     4096 Oct 20 15:27 .
drwxr-xr-x. 3 root  root        18 Oct 16 16:46 ..
-rw-rw----. 1 mysql mysql    16384 Oct 20 15:27 aria_log.00000001
-rw-rw----. 1 mysql mysql       52 Oct 20 15:27 aria_log_control
-rw-r-----. 1 mysql root      7005 Oct 20 13:49 femur.err
-rw-rw----. 1 mysql mysql 12582912 Oct 20 15:27 ibdata1
-rw-rw----. 1 …
Run Code Online (Sandbox Code Playgroud)

mysql linux centos mariadb

10
推荐指数
2
解决办法
2万
查看次数

我怎样才能访问我的docker maria db?

我的主要问题是,在使用命令为我的mariadb创建了一个docker容器之后,我该docker run --name db -e MYSQL_ROOT_PASSWORD=test -d -p 3306:3306 mariadb如何访问sql db?

在某个地方,我已经看到了一个解决方案,使用了一个临时(在删除容器后删除)容器,但是找不到它了.

我正在寻找一个如下命令:sudo docker exec -it [other flags] [command] db.

mysql mariadb docker

10
推荐指数
4
解决办法
2万
查看次数

日期时间格式无效:1366字符串值不正确

我收到这个错误:

SQLSTATE [22007]:无效的日期时间格式:1366字符串值不正确:'\ xBD英寸...'第1行的列'column-name'

我的数据库,表和列的格式为utf8mb4_unicode_ci, column-name的类型为text,为NULL.

这是列名的值

[column-name] => 11之前的一些文字以及之后和之后的其他文字.

但是我等待laravel为列的值添加引号,因为值用逗号(,)分隔.它应该如下:

[column-name] =>'11之前的一些文字以及之后和之后的其他文字.'

参见下面的Schema

    Schema::create('mws_orders', function (Blueprint $table) {
        $table->string('custom-id');
        $table->string('name');
        $table->string('description')->nullable();
        $table->string('comment')->nullable();
        $table->integer('count')->nullable();
        $table->text('column-name')->nullable();
        $table->timestamps();

        $table->primary('custom-id');
    });
Run Code Online (Sandbox Code Playgroud)

我一直在寻找谷歌,但没有任何解决方案.

任何人都知道如何解决这个问题?

我正在使用Laravel 5.5和MariaDB 10.2.11.

php mysql mariadb laravel laravel-5.5

10
推荐指数
3
解决办法
1万
查看次数

MariaDB/MySql:在 CREATE 上设置 CURRENT_TIMESTAMP 并在 UPDATE 上更改注释

我已经有几年没有使用 MySQL 了,当我创建一个新表时,它做了一些我意想不到的事情。我正在使用MariaDB v5.5.60-MariaDB

我需要创建一个既有created列又有updated列的表。

created只需要在创建行时将列设置为 CURRENT_TIMESTAMP,然后除非我显式更改它,否则永远不会更改。

我需要updated在创建行和更改行时将列设置为 CURRENT_TIMESTAMP。

如果我执行以下操作:

CREATE TABLE user_prefs (
  id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE,
  user VARCHAR(255) NOT NULL,
  provider VARCHAR(255) NOT NULL,
  pref VARCHAR(128) NOT NULL,
  jsondata LONGTEXT,
  created timestamp NOT NULL,
  modified timestamp NOT NULL,
  PRIMARY KEY (id),
  UNIQUE INDEX id_UNIQUE (id ASC));
Run Code Online (Sandbox Code Playgroud)

然后created将该列设置为:
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

并且该modified列设置为:
DEFAULT '0000-00-00 00:00:00'

如果我尝试这个:

CREATE TABLE user_prefs (
  id …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb

10
推荐指数
1
解决办法
1万
查看次数

Homebrew Mariadb Mysql 安装根访问被拒绝

所以我基本上是在我的 mac 上使用自制软件安装带有 mysql 的 mariadb。这些是我做的步骤:

  • 酿造医生 -> 工作
  • 酿造更新 - >工作
  • brew install mariadb -> 工作
  • mysql_install_db -> 失败

    警告:无法使用 /usr/local/Cellar/mariadb/10.4.6_1/bin/resolveip 查找主机“Toms-MacBook-Pro.local”。这可能意味着您的 libc 库与此二进制 MariaDB 版本并非 100% 兼容。MariaDB 守护进程 mysqld 应该正常工作,但主机名解析将不起作用。这意味着在指定 MariaDB 权限时您应该使用 IP 地址而不是主机名!mysql.user 表已经存在!

mysql_upgrade之后运行给了我以下错误:

版本检查失败。调用 'mysql' 命令行客户端时出现以下错误 ERROR 1698 (28000): Access denied for user 'root'@'localhost' FATAL ERROR: Upgrade failed

我不能像这样进入mysql:

mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)

但像这样:

sudo mysql -u root
Run Code Online (Sandbox Code Playgroud)

用户表返回:

MariaDB [(none)]> USE mysql; …
Run Code Online (Sandbox Code Playgroud)

mysql macos homebrew mariadb

10
推荐指数
1
解决办法
7073
查看次数

AWS RDS - 使用 GRANT ALL PRIVILEGES ON the_db.* TO 'the_user'@'%' 时拒绝管理员用户访问

当我们尝试为特定数据库的用户授予所有权限时,数据库的管理员(超级用户)用户收到以下错误。

Access denied for user 'admin'@'%' to database 'the_Db'
Run Code Online (Sandbox Code Playgroud)

在 stackoverflow 中查看其他问题后,我找不到解决方案。我已经尝试更改 * -> % 没有成功,这是以下来源中建议的方法:

http://www.fidian.com/problems-only-tyler-has/using-grant-all-with-amazons-mysql-rds

我认为 RDS 上有一个底层配置,所以我不能为用户授予所有权限,但我不知道如何检测正在发生的事情。

更新

在做了一些解决方法之后,我注意到“删除版本控制行”权限是导致问题的原因。我可以添加除那个之外的所有权限。

https://mariadb.com/kb/en/grant/

因此,我可以授予其他权限的唯一“方式”是使用这样的脚本来指定每个权限。

GRANT Alter ON *.* TO 'user_some_app'@'%';
GRANT Create ON *.* TO 'user_some_app'@'%';  
GRANT Create view ON *.* TO 'user_some_app'@'%';
GRANT Delete ON *.* TO 'user_some_app'@'%';
GRANT Drop ON *.* TO 'user_some_app'@'%';
GRANT Grant option ON *.* TO 'user_some_app'@'%';
GRANT Index ON *.* TO 'user_some_app'@'%';
GRANT Insert ON *.* TO 'user_some_app'@'%';
GRANT References ON *.* TO 'user_some_app'@'%'; …
Run Code Online (Sandbox Code Playgroud)

mysql amazon-web-services amazon-rds mariadb

10
推荐指数
1
解决办法
2115
查看次数

SQLAlchemy ORM:“AttributeError:无法在行中找到列”

我现在正在学习 SQLAlchemy,但遇到了一个令我困惑的错误。是的,这里已经有类似的问题了,但似乎没有一个得到解决。

我的目标是使用ORM模式来查询数据库。所以我创建了一个模型:

from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm import Session, registry
from sqlalchemy.sql import select

database_url = "mysql+pymysql://..."

mapper_registry = registry()
Base = mapper_registry.generate_base()


class User(Base):
    __tablename__ = "user"

    id = Column(Integer, primary_key=True)
    name = Column(String(32))


engine = create_engine(database_url, echo=True)
mapper_registry.metadata.create_all(engine)
Run Code Online (Sandbox Code Playgroud)

新我想加载表中所有条目的整行:

with Session(engine) as session:
    for row in session.execute(select(User)):
        print(row.name)

#- Error: #

Traceback (most recent call last):
...
    print(row.name)
AttributeError: Could not locate column in row for column 'name'
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?我不应该能够访问 ORM 模型的字段吗?或者我误解了 ORM 的想法? …

python orm sqlalchemy mariadb pymysql

10
推荐指数
2
解决办法
2万
查看次数

在 docker-compose 构建上启动 mariaDB 时出错

在执行完 images rm、volumes rm 和 docker prune 之后,我在使用 docker-compose 启动 mariaDB 时遇到此错误

这是数据库组成部分(yml):

    mariaDB:
    image: 'mariadb:latest'
    environment:
        - MYSQL_ROOT_PASSWORD=root_password
Run Code Online (Sandbox Code Playgroud)

错误日志:

mariaDB_1 | 2022-05-27 20:14:42+00:00 [注意] [入口点]:MariaDB Server 1:10.8.3+maria~jammy 的入口点脚本已启动。

mariaDB_1 | 2022-05-27 20:14:42+00:00 [错误] [入口点]:

mariadbd 尝试检查配置时失败

mariaDB_1 | 命令是:mariadbd --verbose --help --log-bin-index=/tmp/tmp.JMRNT5ajM6

mariaDB_1 | 无法初始化计时器 services_mariaDB_1 已退出,代码为 1

提前致谢!

mariadb docker

10
推荐指数
2
解决办法
2万
查看次数

WAMP服务器将MySQL切换到MariaDB

如何在WAMP 3.1.0中将数据库从MySQL切换到MariaDB?

我正在寻找它,但我找不到它.

在此输入图像描述

mysql wamp wampserver mariadb

9
推荐指数
1
解决办法
1万
查看次数