MYSQL数据库(以及管理工具)

mysql安装

1、mysql数据库免安装版:https://blog.csdn.net/wzhwangzhuohui/article/details/127787058 或 https://www.jianshu.com/p/04f80f105ba9

  • mysql 官网上有下载:可以下载免安装的版本(200多M,个人推荐这个);安装版本(400多M)
  • 解压压缩包:
    文件 bin/mysqld 是mysql 初始化、配置、启动的控制器
    文件 bin/mysql   是mysql 的客户端工具,类似navicat

2、在根目录下 建立一个配置文件 my.ini

3、初始化数据库目录:安装后,只要执行一次就可以了。根据配置消息做一个初始化,并给一个临时 root 密码。

  • mysqld --initialize --console  【自动在根目录下找到 配置文件】
    如果 my.ini 文件不在根目录下,则需要指定 配置文件路径,即
    mysqld --defaults-file=K:\mysql\mysql8.0\my.ini --initialize --console

4、启动、停止 服务

  • 启动服务:
    # 1、以命令框方式运行:
    mysqld --console     # 窗口退出后,程序退出。
    
    # 2、单独的应用程序模式:
    mysqld --standalone    # 关闭命令窗口程序不退出
  • 停止服务:【命令框模式只要 关闭命令框就可以关闭】
    mysqladmin -uroot shutdown  # 主要是关闭 非命令框启动的服务

mysql 自带的客户端工具(shell工具)

参考:https://www.runoob.com/mysql/mysql-administration.html

1、连接服务器

mysql -h 主机名 -u 用户名 -p
  • -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
  • -u : 登录的用户名;
  • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

本机登录只要:

mysql -u root -p

2、用户设置:

  • 方法1:直接修改user表实现:
    如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表 添加新用户即可。
    • 切换到 mysql 数据库
      use mysql;  -- 切换到mysql数据库
    • 向 mysql 数据库的 user 表 插入 用户。(即,数据库的用户权限管理,都在这个 user 表)
      INSERT INTO user 
                (host, user, password, 
                 select_priv, insert_priv, update_priv) 
                 VALUES ('localhost', 'guest', 
                 PASSWORD('guest123'), 'Y', 'Y', 'Y');

      在添加用户时,请注意使用MySQL提供的 PASSWORD() 函数来对密码进行加密。 你可以在以上实例看到用户密码加密后为: 6f8c114b58f2ce9e。
      注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string。【即,以后的user表中 没有 password字段了】

      注意:password() 加密函数已经在 8.0.11 中移除了,可以使用 MD5() 函数代替。

      注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。

    • 设置立即生效:【重新载入授权表】
      flush privileges;
  • 方法2:通过  GRANT 命令 实现。(一般都使用这种方式创建用户)
    • 新建用户:
      create user '用户名'@'%' identified by '密码';

      以上命令会在mysql数据库中的user表创建一条用户信息记录。但是对应的权限都是 无,需要通过 grant 授权 设置。

    • 修改用户权限:
      如:需要对该新用户指定某个数据库的读写权限。【如果是数据库下所有的表,可以用通配符*。即 数据库命.* 】
      grant all privileges on *.* to 'root'@'%' with grant option;

      注意:当前mysql 8.xx。低版本的mysql授权命令不一样。https://blog.csdn.net/qq_31725371/article/details/83019856 
      mysql 有哪些权限:https://m.php.cn/article/490761.html
      【个人】程序用来连接mysql的用户,给的权限只要针对 某个数据库,有增删改查权限就可以了。

      grant select,insert,update,delete,create,drop on 数据库.数据表 to 'test'@'%';  
    • 权限设置立即生效:
      flush privileges;
    • 查看用户权限:
      show grants for '用户名'@'%';
    • 删除用户:
      drop user '用户名'@'%';

       

管理Mysql的命令 

  • 列出 数据库管理系统的 所有数据库列表:
    show databases;
  • 切换到需要操作的数据库:
    use 数据库名;
  • 显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
    show tables;
  •  显示数据表的属性,属性类型,主键信息,是否为NULL,默认值 等。
    show columns from runoob_tbl;
  • 显示数据表的信息索引信息。【不常用
    SHOW INDEX FROM 数据表; 
  • 显示当前操作的数据库:
    select database();  ---显示当前操作的数据库
  • 显示当前登录的用户:
    select user();    ---显示当前登录的用户

     

其它操作数据库,一般都用在可视化客户端上操作


 

Navicat使用教程:

1、Navicat【 Navicat premium 】 数据库管理工具

  激活方式:参考 https://blog.csdn.net/sanbingyutuoniao123/article/details/52589678

  使用教程:https://www.cnblogs.com/neuedu/p/5876874.html

2、创建数据库:【一般都是先设计好,再手动创建的,而不是程序创建的】

  参考:https://blog.csdn.net/qq_38224812/article/details/80745868  或  https://www.cnblogs.com/qtiger/p/13039875.html

  a、字符集 :常用  utf8 、 utf8mb4【utf8mb4兼容utf8,如果需要用到 utf8 没有字符,则只能使用utf8mb4。如 emoji 表情字符 等】

  b、排序规则 :常用  utf8_general_ci【不区分大小写】、utf8mb4_general_ci       https://blog.csdn.net/u011403848/article/details/81163311

3、常用 字段 类型:https://blog.csdn.net/qq_42176520/article/details/100116601  或  其他

  a、整型:tinyint【1个字节】、smallint【2个字节】、mediumint【3个字节】、int【4个字节】、biging【8个字节】

  b、浮点型:float【单精度】、double【双精度】

  c、字符串:char【定长字符串,0-255】、varchar【变长字符串,0-65535】、text【文本串,2w-6w】

eg:char(10)、

  d、日期和时间:date【日期】、time【时间】、datetime【日期时间】、year【年份】、timestamp【时间戳】

  e、NULL:。

4、数据类型中长度的含义:https://zhuanlan.zhihu.com/p/111028232?from_voters_page=true

  a、字符串类型:char(n) 和 varchar(n)两者中的 n 含义均为该字段最大可容纳的字符数。

     char是定长的,就是根据实际的长度,多减 少加。存储长度始终为 n。

     varchar是变长,只要不超过 指定的 长度。存储长度 就是 实际的长度。

  b、整型类型: tinyint ,smallint ,mediumint , int ,bigint 。这5种 整型 的作用空间是固定的,均与其后设置的 n 无关。

         【整型后面的n比较鸡肋,没什么用】

  c、浮点类型:float、double。这两个和 整型 类似。

5、表中字段太多,滚动不方便,快速跳转到需要的字段上。https://blog.csdn.net/superit401/article/details/108085362 

 

XAMPP数据库相关用法:

1、xampp中数据库除了通过xampp控制面板开启mysql,也可以单独执行mysql。https://www.bbsmax.com/A/amd0er0Lzg/

  xampp对mysql的启动和关闭已经写好脚本了(在安装目录下),直接运行脚本就可以了。

              

 

posted @ 2018-07-07 22:44  吴飞ff  阅读(471)  评论(0编辑  收藏  举报