《Deep Learning Series》
  • 深耕系列之深度学习笔记
  • 第一章 Linux学习环境相关配置
    • 1.1 Ubuntu18下有道词典的配置
    • 1.2 Ubuntu18 安装Gitbook
    • 1.3 Ubuntu18 git命令使用总结
    • 1.4 Latex 排版使用笔记
    • 1.5 Ubuntu下常用工具软件配置安装
    • 1.6 win10+ubuntu双系统修复ubuntu启动引导
    • 1.7 gitbook 插件等相关设置
    • 1.8 深度学习环境搭建
    • 1.9 hexo 实现本地图片加载
    • 1.10 hexo网页定制
    • 1.11 sublime text3插件介绍
    • 1.12 vsftpd.conf文件配置
    • 1.13 mysql 笔记
    • 1.14 ubuntu16_18安装peek工具录制gif
    • 1.15 ubuntu下goldendict有道爬虫小程序
    • 1.16 ubuntu18升级后部分应用不能中文输入的问题
    • 1.17 ubuntu下安装有道词典
    • 1.18 opencv 安装
    • 1.19 gym_gazabe安装配置
    • 1.20 docker 基础
    • 1.21 docker_配置权限问题
    • 1.22 jupyternotebook使用
  • 第二章 深度学习相关基础算法
    • 2.1 马尔科夫链
      • 2.1.1 马尔科夫简单模型预测实战笔记
      • 2.1.2 最大熵模型
      • 2.1.3 隐马尔科夫HMM
    • 2.2 矩阵相关基础知识
    • 2.3 线性回归
    • 2.4 决策树
    • 2.5 梯度下降和最小二乘法
    • 2.6 递归算法与迭代算法
    • 2.7 神经网络浅学笔记
    • 2.8 强化学习经验回放
    • 2.9 K近邻算法
    • 2.10 朴素贝叶斯法
    • 2.11 极大似然估计
    • 2.12 logistic regression
  • 第三章 深度学习框架学习
    • 3.1 PyTorch 学习
      • 3.1.2 Pytorch 之MNIST手写字识别分类
    • 3.2 tensorflow学习笔记
      • 3.2.1 tensorflow之MNIST
    • 3.3 matplotlib函数
    • 3.4 numpy函数
  • 第四章 ROS机器人
    • ROS室内仿真环境.md
    • ros and gazebo and gym_gazebo安装
    • ubuntu16 安装gym-gazebo
    • gym-gazebo安装后的测试
    • 基于DQN的gym_gazebo运行代码演示
  • 项目开发
    • Library占座小工具使用手册
  • 附录
    • Python 相关笔记
      • Python 帮助文档检索方法
      • Module篇使用future
    • Git 相关配置
      • git-推送新的文章到github其他分支上
      • gitignre 配置
      • gitignre 配置
      • Hexo 每次写好后deploy博客
      • MFC Socket 通信
      • python之tkinter入坑Pack
      • ubuntu 中安装sublime_text3
      • ubuntu18-正确-安装ShadowSocket
      • vultr+freenom实现主机域名的绑定.md
      • 值得收藏的网站
      • 搜索技巧
      • 第一篇博文
      • 简单的方法,越过付费获取在线的log设计.md
      • 网页设计基础笔记.md
      • 解决Chrome67版本以后不能离线安装插件的情况.md
    • 嵌入式相关笔记
      • STM32串口通信配置
      • STM32复位及通过函数判断是何种条件出发的复位
Powered by GitBook
On this page
  • 摘要
  • 一、下载安装mysql
  • 1.1 准备工作
  • 1.2 安装工作
  • 1.3 安装服务
  • 1.4 更改密码
  • 二、账号配置与使用测试
  • 2.1 数据库的创建、表单和字段配置
  • 2.2 配置数据库的用户访问账号密码,权限
  • 三、简单的操作例程
  • 3.1 存储图片的数据库读写操作
  • 3.2 读取数据数据并保存在txt文件中
  • 3.2 读取数据数据并直接显示

Was this helpful?

  1. 第一章 Linux学习环境相关配置

1.13 mysql 笔记

Previous1.12 vsftpd.conf文件配置Next1.14 ubuntu16_18安装peek工具录制gif

Last updated 5 years ago

Was this helpful?

摘要

本文主要记录mysql的相关文档,包括安装,配置和数据库访问相关代码

一、下载安装mysql

1.1 准备工作

  • MySQL8.0 For Windows zip包 -> :

  • [1] 解压

我的解压在了D:\program\mysql\mysql-8.0.11-winx64

  • [2] 配置环境变量

  • [3] 配置初始化的my.ini文件

我们发现解压后的目录并没有my.ini文件,没关系可以自行创建。在安装根目录下添加 my.ini(新建文本文件,将文件类型改为.ini),写入基本配置:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program Files\MySQL
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\MySQL\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

注意:其中的data目录不需要创建,下一步初始化工作中会自动创建

1.2 安装工作

在安装时,必须以管理员身份运行cmd,否则在安装时会报错,会导致安装失败的情况

1.2.1 初始化数据库

CD \d D:/

在MySQL安装目录的 bin 目录下执行命令:

mysqld --initialize --console

执行完成后,会打印 root 用户的初始默认密码,比如:

D:\Program Files\mysql\bin>mysqld --initialize --console
2019-02-14T11:47:59.282979Z 0 [System] [MY-013169] [Server] D:\Program Files\mysql\bin\mysqld.exe (mysqld 8.0.15) initializing of server in progress as process 13752
2019-02-14T11:47:59.284705Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2019-02-14T11:48:40.707445Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 7CwffH5<(lem
2019-02-14T11:49:02.894787Z 0 [System] [MY-013170] [Server] D:\Program Files\mysql\bin\mysqld.exe (mysqld 8.0.15) initializing of server has completed

注意!执行输出结果里面有一段: [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 7CwffH5<(lem,D 其中root@localhost:后面的“7CwffH5<(lem,D”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。 要是你手贱,关快了,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。

1.3 安装服务

在MySQL安装目录的 bin 目录下执行命令:

mysqld --install [服务名]

后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。 安装完成之后,就可以通过命令net start mysql启动MySQL的服务了。通过命令net stop mysql停止服务。通过命令sc delete MySQL/mysqld -remove卸载 MySQL 服务

1.4 更改密码

下面提供两种方法修改密码,一种是GUI界面的一种是终端操作

1.4.1 GUI界面修改密码(推荐)

新建的MySQL的连接

还记得刚刚让你复制的root @ localhost:后面的初始密码了吗?现在要用到它了复制粘贴上去! 测试一下!

MySQL的是成功安装了也可以登录 现在就是改密码的时候了 写SQL改密码吗? 太麻烦了太低 来我有个简单的方法 用Navicat的点击刚刚的连接 就会提示我们输入新密码

1.4.2 终端方式修改密码

终端里管理员身份运行cmd,并CD 到在MySQL安装目录的 bin 目录下执行命令:

mysql -u root -p

这时候会提示输入密码,记住了上面第3.1步安装时的密码,填入即可登录成功,进入MySQL命令模式。

在MySQL中执行命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

修改密码,注意命令尾的;一定要有,这是mysql的语法

二、账号配置与使用测试

2.1 数据库的创建、表单和字段配置

  • 创建数据库:iodata

  • 创建数据库表单:teacher ,user_info

  • 创建数据库表单中的字段:user_id,user_pass,user_modified 等等

  • 设置数据库表单中的主键。

CREATE DATABASE iodata;
use iodata;
/*show tables;
create table teacher 
(
    code varchar(20) primary key,
    name varchar(20)
);*/
CREATE TABLE user_info
(
        ID int NOT NULL AUTO_INCREMENT,/* 设置自动加的用户ID*/
        user_id VARCHAR(200) NOT NULL,/*支持中英文200个字符的用户字符串*/
        user_pass VARCHAR(200) NOT NULL,
        user_create datetime(3) NULL DEFAULT CURRENT_TIMESTAMP(3),
        user_modified datetime(3) NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
        PRIMARY KEY (ID)/* 设置主键*/
);

2.2 配置数据库的用户访问账号密码,权限

use iodata;
CREATE USER 'porter'@'localhost' IDENTIFIED BY 'shuruniziji_mima';/* 创建用户 */
INSERT INTO iodata.user_info ( user_id, user_pass)
                       VALUES
                       ( 'porter', '123');  
grant all privileges on *.* to 'porter'@'%'; /* 放行用户的所有权限并允许远程网络连接 */

Python 代码来链接数据库

如下代码功能是链接数据库并从数据库中读取数据并打印出来

# -*- coding:utf-8 -*-
import pymysql
import sys

def get_db_data():
    connect = pymysql.Connect(
        host="210.28.33.2",
        port=3306,
        user="porter",
        passwd="smrit",
        db="iodata",
        charset='utf8'
    )
    print("写入中,请等待……")
    cursor = connect.cursor()
    sql = "select * from user_info"
    cursor.execute(sql)
    number = cursor.fetchall()
    print(number)
    cursor.close()
    connect.close()

if __name__ == "__main__":
    get_db_data()

三、简单的操作例程

3.1 存储图片的数据库读写操作

使用上面推荐的GUI数据库操作工具:Navicat Premium, 软件,在软件中执行

use iodata;
CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB);

读取数据库中图片的Python 代码

# -*- coding:utf-8 -*-
import pymysql
import matplotlib.pyplot as plt
import matplotlib.image as mpimg # mpimg 用于读取图片
import sys

def get_loan_number(file):
    connect = pymysql.Connect(
        host="210.28.33.2",
        port=3306,
        user="porter",
        passwd="smriti",
        db="iodata",
        charset='utf8'
    )
    print("写入中,请等待……")
    cursor = connect.cursor()
    sql = "select Data from images LIMIT 1"
    cursor.execute(sql)
    fout = open('2.jpg','wb')
    image_file = cursor.fetchone()[0]
    fout.write(image_file)
    fout.close()
    cursor.close()
    connect.close()
    print("写入完成,共写入%d条数据……" % 1)


if __name__ == "__main__":
    # file = r"C:\Users\test\Desktop\loanNUmber.txt"
    file = "task1.txt"
    get_loan_number(file)

3.2 读取数据数据并保存在txt文件中

# -*- coding:utf-8 -*-
import pymysql
def get_loan_number(file):
    connect = pymysql.Connect(
        host="106.14.221.55",
        port=3306,
        user="nadersidc",
        passwd="366583",
        db="defect_detecting",
        charset='utf8'
    )
    print("写入中,请等待……")
    cursor = connect.cursor()
    # sql = "select id  from application where status='SUBMITTING' and contract like 'Performance-%'  and " \
    #       "loan_org_party='166490194444444444'"

    # sql = "select Element.Id,Element.FileName,DefectPosition.TopX,DefectPosition.TopY,\
    # DefectPosition.Width,DefectPosition.Height from Element,DefectPosition where Element.DefectId=6 \
    # and Element.ImageTypeId=2 and DefectPosition.ElementId=Element.Id"

    # sql = "select * from Element LIMIT 1,5"
    # sql = "select * from * LIMIT 1,5"
    # 查询数据库表中所有的表名字
    # sql = "select table_name from information_schema.tables where table_schema='defect_detecting'"
    sql = "select * from TrainProject LIMIT 1,5"
    cursor.execute(sql)
    number = cursor.fetchall()
    fp = open(file, "w")
    loan_count = 0
    for loanNumber in number:
        loan_count += 1
        fp.write(str(loanNumber)+'\n')
    fp.close()
    cursor.close()
    connect.close()
    print("写入完成,共写入%d条数据……" % loan_count)


if __name__ == "__main__":
    # file = r"C:\Users\test\Desktop\loanNUmber.txt"
    file = "task2.txt"
    get_loan_number(file)

3.2 读取数据数据并直接显示

  • 涉及一个问题,就是数据库中的图片是二进制流的,如何直接从数据库中获取数据并显示

这里附上:

链接: 提取码: m7de 复制这段内容后打开百度网盘手机App,操作更方便哦

软件下载地址
https://pan.baidu.com/s/19mjZmCgZYaXRezxdukuG0w
下载地址
安装包解压
配置环境变量
配置环境变量
配置环境变量
配置环境变量
配置环境变量
Navicat Premium
Navicat Premium
Navicat Premium
Navicat Premium
Navicat Premium
向数据库中添加图片