STPMS项目记录——涉及的mySQL8知识点

mySQL8知识点

mySQL8的安装

  1. 首先,将RAR文件解压到预设的目录中,在目录中创建my.ini文件,内容如下
[mysqld]
basedir = D:\ProgramFiles\mysql-8.0.11-winx64
datadir = D:\ProgramFiles\mysql-8.0.11-winx64\data
port = 3306
lower_case_table_names = 2
default_authentication_plugin=mysql_native_password
character-set-server = utf8mb4
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
  1. 右键点击我的电脑,配置环境变量,添加PATH设置,将解压文件夹下的bin路径添加到变量值中。

  2. 以管理员的身份运行cmd,运行命令

mysqld --initialize --console

在执行的过程信息中会显示ROOT的临时密码,需要记录一下。没记住,删掉初始化的 data目录,再执行一遍初始化命令,又会重新生成的。

  1. 安装服务,需要执行
mysqld --install
  1. 启动服务,执行
net start mysql

如果需要停止服务或卸载服务,可以通过命令

net stop mysql

停止服务。通过命令

sc delete MySQL/mysqld -remove

卸载 MySQL 服务。

  1. 更改密码

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

mysql -u root -p

这时候会提示输入密码,记住了上面安装时的密码,填入即可登录成功,进入MySQL命令模式。
然后修改密码,运行

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

在SQL的shell里,可以用命令行检查一下SQL的运行情况

show databases;
use mysql;
show tables;

会显示databases->mysql中数据表的清单。

mysql使用的知识点

建立用户

在SHELL模式下,输入

create user 'norwin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

则会建立本地帐户norwin,密码是123456。
mySQL中建立的用户都在mySQL库的user表中保存,可以通过下面的命令查看用户是否建立成功

use mysql;
select user,host from user\G;

服务断开

quit;

授权所有权限

GRANT ALL PRIVILEGES ON *.* TO 'norwin'@'%'

授权基本的查询修改权限,按需求设置

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO 'norwin'@'%';

查看用户权限

show grants for 'norwin'@'%';

uuid的生成和使用

  1. mysql中直接使用uuid()函数,可以生成一个随机的uuid。
  2. 正常的uuid是36位长度的。

数据库的建立

如果存在数据库,则删除该数据库并建立新的

DROP DATABASE IF EXISTS STPMS;
CREATE DATABASE STPMS;
USE STPMS;

载入SQL文件

source xxx.sql

STPMS工程的源代码

STPMS工程由杨MM所写,记录在这里,以备后续的查阅需要,在此对杨MM表示感谢。

#数据库
DROP DATABASE IF EXISTS STPMS;
CREATE DATABASE STPMS;
USE STPMS;

#单位表
DROP TABLE IF EXISTS department;
CREATE TABLE department
(
    id VARCHAR(36),
    pID VARCHAR(36),
    name VARCHAR(64) NOT NULL,
    address VARCHAR(255),
    remark VARCHAR(255),
    PRIMARY KEY(id),
    FOREIGN KEY(pID) REFERENCES department(id),
    UNIQUE INDEX(pID,name)
);
INSERT INTO department(id,pID,name,address) VALUES(uuid(),NULL,'中国电子科技集团公司第二十七研究所','河南省郑州市郑东新区博学路36号');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='中国电子科技集团公司第二十七研究所') a),'基础技术部');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='基础技术部') a),'计算机软件室');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='中国电子科技集团公司第二十七研究所') a),'测控与雷达系统事业部');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='测控与雷达系统事业部') a),'测控技术室');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='测控与雷达系统事业部') a),'遥感技术室');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='测控与雷达系统事业部') a),'功放技术室');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='测控与雷达系统事业部') a),'卫星终端室');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='中国电子科技集团公司第二十七研究所') a),'光电系统事业部');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='光电系统事业部') a),'激光技术室');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='光电系统事业部') a),'侦察告警室');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='光电系统事业部') a),'指挥控制室');
INSERT INTO department(id,pID,name) VALUES(uuid(),(SELECT a.id FROM(SELECT id FROM department WHERE name='光电系统事业部') a),'光电导航室');


#人员表
DROP TABLE IF EXISTS person;
CREATE TABLE person
(
    id VARCHAR(36),
    departmentID VARCHAR(36) NOT NULL,
    name VARCHAR(64) NOT NULL,
    cardNo VARCHAR(4),
    telephone VARCHAR(32),
    remark VARCHAR(255),
    PRIMARY KEY(id),
    FOREIGN KEY(departmentID) REFERENCES department(id),
    UNIQUE INDEX(cardNo)
);

INSERT INTO person(id,departmentID,name,cardNo,telephone) VALUES
            (uuid(),(SELECT id FROM department WHERE name='中国电子科技集团公司第二十七研究所'),'admin','0000','0371-61270921');


#角色表
DROP TABLE IF EXISTS role;
CREATE TABLE role
(
    id VARCHAR(36),
    name VARCHAR</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值