美文网首页
MySQL学习记录

MySQL学习记录

作者: 天上有木月0 | 来源:发表于2019-06-17 15:37 被阅读0次

MySQL 下载与安装配置

也可去MySQL官网去找相应的msi后缀的下载名,那个不用手动配置,有指引配置项

Mysql下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-winx64.zip

windows安装MySQL,并配置密码

运行-> cmd。
首先 cd E:/Program Files/mysql-5.7.25-winx64/bin    
命令:mysqld --initialize   #直接初始化mysql,生成data文件夹中的文件。
命令:mysqld -install          #安装mysql
命令:net start mysql          #启动服务器

#跳过密码验证,在my.ini文件中配置如下
[mysqld]
skip-grant-tables
#cmd运行到mysql/bin目录下
mysql -u root -p
#进入mysql命令行
use mysql;
#执行修改密码操作  123qwe为用户密码
update user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
#刷新数据库
flush privileges;

net start mysql
net stop mysql

sc.exe delete "服务名"

疑难问题记录

  1. Navicat连接MySQL8+时出现2059错误解决方法
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

上面那行以mysql_native_password的加密规则更新了用户的密码

password 对应的字符串改成你原本的密码就行了。具体原因就是如上个博客所说,mysql8.0版本以后的密码规则有变更,旧的连接工具必须升级新的驱动才可解决此问题,但,升级后,就要提示只有14天使用权限。所以,将加密规则改成mysql_native_password 即可。

  1. 使用mysql + code first 问题 ?在windows下使用mysql+code first 时,生成的表名和数据库名都是小写。

解决方案:打开 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

然后在 [mysqld] 添加 lower_case_table_names=2
然后要记得重启mysql服务

Docker + MySQL

MySQL 树形数据获取

根据父菜单id得到所有的子节点

select id from (
              select t1.id,
              if(find_in_set(parentId, @pids) > 0, @pids := concat(@pids, ',', id), 0) as ischild
              from (
                   select id,parentId from re_menu t where t.status = 1 order by parentId, id
                  ) t1,
                  (select @pids := 要查询的菜单节点 id) t2
             ) t3 where ischild != 0

由于@符号与参数冲突,可通过创建存储过程解决

CREATE DEFINER=`root`@`localhost` PROCEDURE `OrganizationChildrens`(IN `pid` BIGINT)
BEGIN
 select Id,ParentId,DisplayName as Text from (
              select t1.id,t1.ParentId,t1.DisplayName,
              if(find_in_set(parentId, @pids) > 0, @pids := concat(@pids, ',', id), 0) as ischild
              from (
                   select Id,ParentId,DisplayName from AbpOrganizationUnits t where t.IsDeleted = '0' order by ParentId, id
                  ) t1,
                  (select @pids :=pid) t2
             ) t3 where ischild != 0; 
END

ABP框架中调用存储过程

        public List<TreeSelectModel> GetChildrens(long? pid)
        {
            string sql = $"call OrganizationChildrens({pid})";

            return _orginazationDapperRepository.Query<TreeSelectModel>(sql).ToList();
        }

相关文章

  • MySql学习(一)基础框架 一条SQL查询语句如何执行的?

    学习《MySQL实战45讲》- 林晓斌,做的笔记和记录,记录、总计、思考。 目录: MySql基础架构(Serve...

  • 前言

    这里记录学习mysql的经历,以便以后回顾

  • MySql学习记录

    MySql的配置: 字符集配置 修改/etc/my.cnf,在[mysqld]节点下default-charact...

  • mysql 学习记录

    一、在 MySQL 客户端输入以下命令: show global variables like "%datadir...

  • MySQL学习记录

    Databases are everywhere. So what is a database? By defi...

  • MySQL学习记录

    MySQL 下载与安装配置 也可去MySQL官网去找相应的msi后缀的下载名,那个不用手动配置,有指引配置项 My...

  • mysql 学习记录

    mysql 学习记录 二、基本命令 2.1设置数据库区分大小写 数据库大小写设置参数lower_case_tabl...

  • mySQL学习记录

    基础知识: 数据库:存储数据的仓库,本质是一个文件系统,数据库按照特定的格式将数据存储起来。常用数据库:MySQL...

  • 1. 基本查询语句回顾

    本文章将记录学习mysql过程中的学习笔记工具:Sequel Pro , MySql for mac 简单查询 2...

  • MySQL基础笔记(1)

    基于Windows下的MySQL学习记录 01.进入MySQL 安装好MySQL后,打开cmd命令提示符窗口,输入...

网友评论

      本文标题:MySQL学习记录

      本文链接:https://www.haomeiwen.com/subject/rpgafctx.html