mysql数据库

MySql卸载不干净怎么办?

五迷三道 提交于 2020-01-11 03:14:03
在网上的教程中,删除数据库的安装文件,再删除一大啪啦的数据表.之后再安装的时候提示已经安装了,所以我这是卸载不干净 cmd sc query mysql sc delete mysql sc query mysql:查找名为mysql的服务 sc delete mysql:删除mysql 服务 再次安装,成功了 来源: CSDN 作者: 原来你是小幸运 链接: https://blog.csdn.net/qq_44741568/article/details/103849153

记录_20190712

一世执手 提交于 2020-01-11 02:45:10
mysql修改root用户密码 1、进入mysql =》mysql -uroot -p 2、修改密码(两种方式) 其一 1) 修改root的localhost本地访问密码 =》set password for root@localhost = '2019qwe'; 其二 1) use mysql; =》进入数据库 2) update user set authentication_string= password('2019qwe') where host = '%' and user = 'root'; =》修改root的远程主机访问密码 =》(备注:需要先选择数据库,否则会报错) 3、刷新权限 =》flush privileges; 修改密码遇到的问题 1)error 1054 (42s22): unknown column 'password' in 'field list' =》password字段在5.6及其以上版本改成了authentication_string 2)linux上密码修改生效,登陆时要用新密码,而客户端连接工具用旧密码仍然可以登陆 =》mysql针对于root有两个主机,一个是localhost(本地主机),一个是%(远程主机) mybatis动态sql 1)mybatis里面的判断数组长度 =》list用size或size() =

MySQL连接查询

强颜欢笑 提交于 2020-01-11 02:00:14
@[TOC]CSDN初来炸(Duang~)到 记MySQL连接查询 查询场景: 将数据库中两个表中的数据分组,并将每组内某列最大数据的记录输出(两个表都有一个共同的数据段) mysql之前用的不多,今天遇到了,找了本书瞅了瞅,第一次就把这个写在这了,先开个头,直接上干货,不组织语言说为什么会遇到这个问题了。 select suppliers.s_id, s_name, group_concat(f_name), f_price from fruits, suppliers where fruits.s_id = suppliers.s_id and fruits.f_price in (select max(f_price) from fruits group by s_id) group by s_id; 说两句 查询分为两部分,内查询首先按s_id分组将每一组的最大值查找出来,然后外查询,需要同时满足两个条件,第一、fruits.s_id = suppliers.s_id和f_price 在内查询的结果集中,别忘了后面依然要跟group by s_id分组查询。 来源: CSDN 作者: 向往天空的蜗牛 链接: https://blog.csdn.net/ta_123123/article/details/103879658

MySQL读写分离

浪尽此生 提交于 2020-01-11 01:39:06
配置知识点 MySQL读写分离原理 读写分离就是只在主服务器上写,只在从服务器上读 主数据库处理事务性查询,而从数据库处理select查询 数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 实验概述 在数据库服务应用中,在大量的数据请求下,单台数据库将无法承担所有的读写操作 配置多台数据库服务器以实现读写分离 本实验在主从复制的基础上实现读写分离 配置MySQL读写分离 1、实验拓扑图如下 主机名 IP地址 主服务器 192.168.150.240 从服务器1 192.168.150.158 从服务器2 192.168.150.238 amoeba 192.168.150.181 客户机 192.168.150.241 2、所有服务器关闭Firewalld或者进行规则设置 3、搭建MySQL主从复制环境 可参考- MySQL主从复制搭建 4、Amoeba服务器环境安装 (1)安装jdk(版本1.6) [root@localhost abc]# cp jdk-6u14-linux-x64.bin /usr/local [root@localhost abc]# cd /usr/local [root@localhost local]# ./jdk-6ul4-linux-x64.bin //执行安装jdk,按提示安装 [root@localhost local]# mv

MySQL 持久化保障机制-redo 日志

試著忘記壹切 提交于 2020-01-11 01:08:03
我们在 聊一聊 MySQL 中的事务及其实现原理 中提到了 redo 日志,redo 日志是用来保证 MySQL 持久化功能的,需要注意的是 redo 日志是 InnoDB 引擎特有的功能。 为什么 InnoDB 引擎会引入 redo 日志作为中间层来保证 MySQL 持久化,而不是直接持久化到磁盘?我们先来看看《MySQL实战45讲》中提到的一个故事。 在《孔乙己》这篇文章,酒店掌柜有一个粉板,专门用来记录客人的赊账记录。如果赊账的人不多,那么他可以把顾客名和账目写在板上。但如果赊账的人多了,粉板总会有记不下的时候,这个时候掌柜一定还有一个专门记录赊账的账本。 如果有人要赊账或者还账的话,掌柜一般有两种做法: 一种做法是直接把账本翻出来,把这次赊的账加上去或者扣除掉; 另一种做法是先在粉板上记下这次的账,等打烊以后再把账本翻出来核算。 在生意红火柜台很忙时,掌柜一定会选择后者,因为前者操作实在是太麻烦了。首先,你得找到这个人的赊账总额那条记录。你想想,密密麻麻几十页,掌柜要找到那个名字,可能还得带上老花镜慢慢找,找到之后再拿出算盘计算,最后再将结果写回到账本上。 这整个过程想想都麻烦。相比之下,还是先在粉板上记一下方便。你想想,如果掌柜没有粉板的帮助,每次记账都得翻账本,效率是不是低得让人难以忍受? 同样,在 MySQL 里也有这个问题,磁盘就相对于账本

python链接mysql

廉价感情. 提交于 2020-01-11 00:45:29
import pymysql class DB : # 这里可以通过配置文件或者传参的方式来封装,但是我们用配置文件比较好管理 def __init__ ( self ) : host = ** ** # 数据库的ip地址 user = ** * # 数据库的账号 password = ** * # 数据库的密码 port = 3306 # mysql数据库通用端口号 self . connect = pymysql . connect ( host = host , user = user , password = password , port = port ) self . cursor = self . connect . cursor ( ) #获取一个游标 # 返回单条数据 def select_one ( self , sql ) : self . cursor . execute ( sql ) return self . cursor . fetchone ( ) # 返回多条数据 def select ( self , sql ) : self . cursor . execute ( sql ) return self . cursor . fetchall ( ) def exec ( self ) : conn . commit ( ) self .

数据库并发处理 - 上的一把好"锁"

久未见 提交于 2020-01-11 00:37:17
为什么要有锁? 我们都是知道,数据库中锁的设计是解决多用户同时访问共享资源时的并发问题。在访问共享资源时,锁定义了用户访问的规则。根据加锁的范围,MySQL 中的锁可大致分成全局锁,表级锁和行锁三类。在本篇文章中,会依次介绍三种类型的锁。在阅读本篇文章后,应该掌握如下的内容: 为什么要在备份时使用全局锁? 为什么推荐使用 InnoDB 作为引擎进行备份? 设置全局只读的方法 表级锁的两种类型 MDL 导致数据库挂掉的问题 如何利用两段锁协议减少锁冲突 如何解决死锁 对于热点表,如何避免死锁检测的损耗? 全局锁 什么是全局锁? 全局锁会让整个库处于只读状态,其他线程语句(DML,DDL,更新事务类)的语句都被会阻塞。 使用全局锁的场景 在做全库逻辑备份时,会把整库进行 select 然后保存成文本。 为什么要使用全局锁? 想象这样一个场景,要备份一个购买系统,其中购买操作设计到更新账号余额表和用户课程表。 现在进行逻辑备份,在备份过程中,一位用户购买了一门课程,这时需要在余额表扣掉余额,然后在购买的课程中加上一门课。正确的顺序肯定是先进行购买操作,减少余额和增加课程然后在进行备份。但却有可能出现这样的问题: 如果在时间顺序上先备份余额表 (u_account),然后用户购买(操作两张表),再备份用户课程表(u_course)? 这时用备份的数据做恢复时,会发现用户没花钱却买了一堂课

Mysql之EXPLAIN关键字学习笔记

别来无恙 提交于 2020-01-11 00:29:11
Mysql的增删改查我想学过Mysql的人都知道怎么用吧!但是作为一个后端开发人员,只会CRUD是往往不够的,我们在CRUD的同时也需要掌握一些数据库性能优化,这样我们才能提高我们系统的性能。今天介绍 EXPLAIN 字段,这个字段可以让我们很清楚地了解Mysql执行SQL语句的过程,以此来判断我们的SQL语句是否需要优化 EXPLAIN介绍 EXPLAIN是什么?   使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道Mysql是如何处理你的SQL语句的。分析你的查询与或是表结构的性能瓶颈。 EXPLAIN的如何使用? EXPLAIN的用法比较简单,只要要查询语句前面加上EXPLAIN即可 1 explain select * from tbl_emp; 运行结果如下 现在也许我们还不知道这些字段是什么意思,下面我们将围绕着这些字段进行展开讲解。 id 介绍   select查询的序列号,包含一组数字,表示查询中执行select字句或操作表的顺序。 其中id的取值分为三种情况: id相同,执行顺序由上往下 id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行 id相同不同,同时存在 下面我们来看看这三种情况到底是怎样的情况 id相同,执行顺序由上往下 id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行 id相同不同

通讯录系统

心不动则不痛 提交于 2020-01-11 00:21:58
通讯录系统 问题描述 基本要求 java代码 问题描述 编写一个简单的通讯录管理程序。通讯录中需要存储姓名,地址,电话号码,邮政编码四项。还可以存储Email,家庭电话等信息。 基本要求 程序应提供的基本管理功能有: 1)添加:即增加一个人的记录到通信录中。 2)显示:即在屏幕上显示所有通信录中的人员信息。 3)存储:即将通讯录信息保存在数据库表中。 4)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。 5)修改:可修改一个人的除姓名外其它信息。 6)排序:可以根据据条目的某个项对所有条目进行排序,如姓名,或是邮政编码等。 java代码 import java . sql . * ; import java . text . ParseException ; import java . util . * ; import javax . swing . * ; import java . io . * ; import java . util . Scanner ; import java . awt . * ; import java . awt . event . * ; import javax . swing . event . * ; public class zz { public static void main ( String [

大数据框架开发基础之Sqoop(1) 入门

我们两清 提交于 2020-01-11 00:15:12
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 Sqoop的基本认知 原理 将导入或导出命令翻译成mapreduce程序来实现。 在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。 安装 Sqoop的安装也很简单,首先我们需要有有一个 Sqoop安装包 ,这个包老夫也提供了。 我们在如下目录中: drwxr-xr-x 2 corp corp 4096 Dec 19 2017 bin -rw-rw-r-- 1 corp corp 55089 Dec 19 2017 build.xml -rw-rw-r-- 1 corp corp 47426 Dec 19 2017 CHANGELOG.txt -rw-rw-r-- 1 corp corp 9880 Dec 19 2017 COMPILING.txt drwxr-xr-x 2 corp corp 4096 Dec 19 2017 conf drwxr-xr-x 5 corp corp 4096 Dec 19 2017 docs drwxr