在安装mysql时,很多同学往往会忽视mysql的环境变量配置,理论上这是不影响正常使用的,但是在登录mysql时每次都要cd进入目录是不是很麻烦, 这时候就需要将MySQL的bin目录添加到系统的环境变量中去,来快速进入mysql。
最近在做新生入学系统,学生表中包括新生的班级,专业等信息,班级,专业就需要和班级表,专业表进行关联,但是在添加外键的过程中却出现了“Cannot add foreign key constrain
最近在做新生入学系统,学生表中包括新生的班级,专业等信息,班级,专业就需要和班级表,专业表进行关联,但是在添加外键的过程中却出现了“Cannot add foreign key constraint” 的问题,也就是不能添加外键约束,为什么就不能添加外键呢?
在MySQL数据库中,在进行数据迁移和从库只读状态设置时,都会涉及到只读状态和Master-Slave主从关系设置, 以下针对real_only只读属性做些笔记记录:
执行了命令之后所有库所有表都被锁定只读,一般用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行。
特点如下: 1、 crontab 中显示类似上面的任务,并且清理后又会出现。 2、 服务器负载高,CPU使用100%。存在fb972c73a8等数字的进程并且使得CPU100%
读写分离的场景应用 随着业务增长,数据越来越大,用户对数据的读取需求也随之越来越多,比如各种AP操作,都需要把数据从数据库中读取出来,用户可以通过开通多个只读实例,将读请求业务直接连接到只读实例上。使用RDS云数据库的读写分离功能,用户只需要一个请求地址,业务不需要做任何修改,由RDS自带的读写分离中间件服务来完成读写请求的路由及根据不同的只读实例规格进行不同的负载均衡,同时当只读实例出现故障时能够主动摘除,减少对用户的影响。对用户达到一键开通,一个地址,快速使用。 MySQL内核为读写分离的实现提供了支持,包括通过系统variable设置目标节点,session或者是事务的只读属性,等待/检查指定的事务是否已经apply到只读节点上,以及事务状态的实时动态跟踪等的能力。本文会带领大家一起来看看这些特征。说明一下,本文的内容基于RDS MySQL 5.6与RDS MySQL 5.7。
恰巧在交流群看到这么一条消息,由于安全意识缺乏,被不法之人黑进了数据库,并且 dump 了数据进行勒索;
基础准备: 在 school 数据库下建立student、course、sc 三个表: create table student( Sno char(9) primary key, Sname char(20) unique, Ssex char(2), Sage int, Sdept char(20)); create table Course( Cno char(4) primary key, Cname char(40), Cpno char(4), Ccredi
3. Mysql数据库-视图 3.1 视图概述 3.1.1 视图介绍 # 视图介绍 1). 视图(View)是一种虚拟存在的表。 2). 视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。(视图只保存sql的逻辑,不保存表数据) 3). 通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 # 举个例子 普通班级: 张三 李四 王五 马六... 表
管理用户:超级管理用户、dba运维用户、备份用户、监控用户、复制用户 (克隆用户)
不知道有没有测试同仁遇到过类似这样的情景:登录或者查询数据失败的时候,程序给出了一个包含SQL脚本的提示框。作为测试人员,我们隐约感觉这样的提示信息不友好,于是要求开发人员修改,开发人员却告诉我们这些信息是数据库返回的错误,而且某某原因(比如使用了第三方的开发框架)改不了?
其实 MySQL 中的用户,都存储在系统数据库 mysql 的 user 表中,我们通过 show databases; 查看 mysql 数据库:
DBA同学在工作中不可避免和开发同学打交道,和开发的同学在交流中还是有不少的小插曲,有些想想也蛮有意思,但是有些是痛点。 我举几个例子来说明,可能比较片面,但是只是为了说明问题,达到交流的目的即可。 oracle知识和sql水平不足 ddl中的commit 我相信很多DBA都会看到这样的sql脚本。 create table test(id number,name varchar2(30)); commit; 其实这个就是对于ddl的理解有偏差,ddl压根就不需要这样的commit
mysql授权 一.创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 创建用户 mysql> CREATE USER 'test'@'%' IDENTIFIED BY '1234'; 这样就创建了一个名为:test 密码为:1234 的用户。 注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将
操作系统:CentOS 7 Mysql版本:Mysql 8.0.x Docker版本:Docker version 20.10.10
1016错误:文件无法打开,使用后台修复或者使用phpmyadmin进行修复。 1044错误:数据库用户权限不足,请联系空间商解决 1045错误:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。 1054错误:程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖。 1146错误:数据表缺失,请恢复备份数据. 2002错误:服务器端口不对,请咨询空间商正确的端口。 2003错误:mysql服务没有启动,请启动该服务 1005:创建表失败 1006:创建数据库失败 1007:数据
要点是数据库同步,我使用mysql,所以先导入mysql数据库再执行seafile安装脚本即可。基本步骤分三部:
问题现象:tdsql-xxxxxx 库plidb表letterperson字段PrintState被大量置为了‘0’
MySQL这么多章节了,前前后后20多篇了,我看了下自己本地的目录,已经可以说是很全了,但是有一点我发现很关键但是我还没提过,那就是安全。
1.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.sock'
在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理。一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等,这样方便管理。当然,具体怎么管理权限根据实际情况来确定。
主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从服务器中,然后在从服务器上对这些日志重新执行也叫重做,从而使得从数据库和主库的数据保持同步。
为了数据安全,数据库需要定期备份,这个大家都懂,然而数据库备份的时候,最怕写操作,因为这个最容易导致数据的不一致,松哥举一个简单的例子大家来看下: 假设在数据库备份期间,有用户下单了,那么可能会出现如下问题: 库存表扣库存。 备份库存表。 备份订单表数据。 订单表添加订单。 用户表扣除账户余额。 备份用户表。 如果按照上面这样的逻辑执行,备份文件中的订单表就少了一条记录。将来如果使用这个备份文件恢复数据的话,就少了一条记录,造成数据不一致。 为了解决这个问题,MySQL 中提供了很多方案,我们来逐一进行讲解
登录windows时最好用Administor登录(特别是管理节点,用其它用户登录了一次,之后就搭建不了,总是出现"修改不了一些文件的错误"),不然程序没有权限修改某些文件。
关于 MySQL 主从搭建,松哥之前写过好多篇文章了,还录过一个视频。不过之前的都是一主一从的结构,但是小伙伴们知道,我们在项目中,更常见一种结构是双 M 结构,即两个 MySQL 实例,每个 MySQL 实例互为主备,这样在主节点突然断电或者不可用的时候,slave 节点可以很快切换为 master,架构图如下: 在这种结构中,两个 MySQL 实例的地位是平等的,互为对方的主备,我们判断谁是主机谁是从机的方式主要是看 readonly,谁是只读的,那谁就是从机,所以这种情况下,主从切换也很方便,只要修
mysql权限控制 作为一名DBA,想必大家对MySQL中的权限都不陌生,MySQL中对于权限的控制分为三个层面:
如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。 比如张三只能操作mytest这个数据库,李四只能操作msg这个数据库,而root可以操作所有的库,如果给他们root账户,风险太大了,数据库都能操作,所以我们需要对用户进行管理。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一,该笔记用于生产环境快速查阅.
复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。
这种情况是不能打开 cdb_forums.MYI造成的,引起这种情况可能的原因有:
快过春节了,对于巡检工作真是非常重要的一环,也是考验巡检的力度的一种方式,及早发现问题,及时解决,就会避免很多“到时候再说”的问题。 当然公司层面也有一些巡检要求,我自己也总结了一下,发现还是需要写一部分,然后不断完善。主要分为下面的几个部分来阐述。 检查ILO可用性和使用情况... ILO模块没有开启... ILO密码错误... ILO超过最大用户连接数限制... ILO在不同的硬件产品版本和浏览器的兼容性... ILO页面和JAVA的版本关系... 操作系统版本... 操作系
MySQL角色是指定的权限集合. 像用户帐户一样,角色可以拥有授予和撤消的权限:
为了让大家理解 B+Tree 索引的存储和查询的过程,接下来我通过一个简单例子,说明一下 B+Tree 索引在存储数据中的具体实现。
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。 在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。 information_schema数据库表说明:
架设FTP服务器有好几次了,以前搭建好以后,没有记录操作的详细步骤,过阵时间又忘记了。此次架设FTP服务的需求要点: vsftpd mysql 虚拟用户 虚拟目录 只读用户 只写用户 读写用户。
MySQL的授权系统的一个重要功能是为数据库分配具有权限的用户。当用户通过认证后,MySQL将通过下记问题验证用户的权限:
这一节中,将依次介绍MySQL 5.7的各种新特性。由于MySQL 5.7改进较多,因此,本文将这些新特性进行了简单的分类,分为安全性、灵活性、易用性、可用性和性能。接下来,将从各个分类依次进行介绍。
update user_account set money=money+100 where user_id = 1
最近比较喜欢用bitbucket,因为要用私有库又不舍得交钱给Github只能这样了,虽然自己也用gitolite搭了git server,但是毕竟仅仅是一个git server。
三、查询超时 查询超时限制,让慢查询及时结束,以免影响整个系统 mysql 5.6 及以后,有语句执行超时时间变量,用于在服务端对 select 语句进行超时时间限制;
显示所有用户,root才能查询 select user,host,password from mysql.user;
本篇文章虽大部分内容为参考原文作者的相关内容,但对原文对于文章的逻辑与排版上进行了大范围修改,方便阅读与理解。原文链接在底部
运维工作中会经常维护MySQL主从服务器,当然Slave我们只是用于读操作。一般权限开通也只授权只读账号,但是有时候维护工作可能不是一个人在做,你不能保证其他同事都按照这个标准操作。有同事可能会授权Slave库MySQL账号为all或者select,update,insert,delete。还有一种情况是主从做了对所有数据的同步(包括用户信息),在Master库上面授权的账号也同步到了Slave库上面,当然Master账号中肯定会有select,update,insert,delete权限。
只针对test库和以test_为前缀的库: select * from mysql.userwhere user='xx'; host:% user:xx pass:xxxxxxxxxxxxxxxxxx 看到只有select_priv:Y 其他都是N 但是在一台主机上登陆: mysql -uxx -pxxxxxxxxxxxxxxxxxx -h192.168.100.20 -P3306 mysql>use test 可以在test下建表,删表以及其他写操作 用其他账号建立一个新库test2 再使用只读账号去写
默认情况下,我们的 MySQL 实例是可读写的。但有些情况下,我们可以将整个实例设置为只读状态,比如做迁移维护的时候或者将从库设为只读。本篇文章我们来看下 MySQL 设置只读相关知识。
全局锁就是对整个数据库实例加锁,当数据库被加上全局锁以后,整个库会处于只读状态,处于只读状态下的库,以下语句会被阻塞:
领取专属 10元无门槛券
手把手带您无忧上云