• mysql-5.5.50(Windows环境)


    1.help  2.Service  3.Configure  4.User  5.design  last


    1.获取帮助文档

    • cd C:Program Filesmysqlmysql-5.5.50-winx64
      C:Program Filesmysqlmysql-5.5.50-winx64> binmysqld.exe --verbose --help > mysqld_note.txt
      View Code

    2.在 Windows 平台以服务运行

    2.1.启动服务器

      需要安装,写个安装脚本“binmysqld.exe --install”,执行即可。在服务管理运行数据库,默认服务名称“MySQL”。需要指定服务名称时,要在安装时设定“binmysqld.exe --install mysql5.5”。

      安装时,如果使用“--install”表示主机启动时自动启动服务,使用“--install-manual”表示不启动。

    rem  启动数据库②
    C:> net start mysql
    
    rem  启动数据库②
    C:> sc query mysql
    C:> sc start mysql
    
    rem  查看监听
    C:> netstat -na -p tcp
    View Code

     

      连接服务器,root 用户默认无密码。安装后需要修改默认密码。测试成功后,按需要设定环境变量。初始登陆时,没有连接任何数据库。

    C:Program Filesmysqlmysql-5.5.50-winx64> binmysql -uroot -p -h localhost
    mysql> show databases;
    mysql> use mysql;
    mysql> show tables;
    View Code

    2.2.启动多个端口

      设置两个配置文件,建立两个数据目录;

    [mysqld]
    port        = 3307
    bind_address = 192.168.130.1
    character_set_server  = gbk
    datadir = C:/data/data2
    
    [mysqld]
    port        = 3308
    bind_address = 192.168.130.1
    character_set_server  = gbk
    datadir = C:/data/data3
    View Code

       启动服务:

    C:WINDOWSsystem32>mysqld --defaults-file=C:/data/my2.ini
    160629 10:09:05 [Note] mysqld (mysqld 5.5.50) starting as process 14408 ...
    
    C:WINDOWSsystem32>mysqld --defaults-file=C:/data/my3.ini
    160629 10:09:30 [Note] mysqld (mysqld 5.5.50) starting as process 14508 ...
    
    C:WINDOWSsystem32>netstat -na -p tcp -o | findstr "192.168.130.1"
      TCP    192.168.130.1:3307     0.0.0.0:0              LISTENING       14408
      TCP    192.168.130.1:3308     0.0.0.0:0              LISTENING       14508
    View Code

    2.3.服务方式启动多个端口

      必要时,删除之前添加的服务。重新安装服务:

    mysqld --install mysql2 --defaults-file=C:/data/my2.ini
    mysqld --install mysql3 --defaults-file=C:/data/my3.ini
    net start mysql2
    net start mysql3
    mysqld --remove mysql

      此时,mysql 连接时需要使用选项“-P”指定连接的服务使用的端口号。

    2.4.命名管道、共享内存

      使用命名管道连接数据库,修改配置文件:

    skip-networking
    enable-named-pipe

      重启服务,使用命令连接数据库:

    mysql --protocol=pipe -uroot

      如果,需改了系统默认用户,查验后适当添加用户“create user 'root'@'localhost';”。

      使用共享内存连接数据库,修改配置文件:

    skip-networking
    shared-memory=on

      重启服务,使用命令连接数据库:

    mysql --protocol=memory -uroot

      指定连接名称配置文件、连接命令(默认连接“MYSQL”):

    skip-networking
    shared-memory=on
    shared_memory_base_name = MYSQL1
    View Code

     View Code

      * 如果是没有明确使用哪个,默认是命名管道方式;两者在监听时共享内存可以通过命令“mysql -uroot”连接:

    skip-networking
    #shared-memory=on
    #enable-named-pipe
    View Code

    3.配置信息

      在没有“任何配置”的情况下,服务依然可以启动,需要有效控制服务启动时设定配置文件。在安装目录下依据参考配置文件,修改(复制)为“my.ini”。

      查看运行时配置信息。(帮助文档最后一行获悉)(设定下环境变量)

     

    3.1.查询

    rem  配置查询
     C: mysqladmin variables
    
    rem  查看字符集
     C: mysqladmin variables | findstr "character"
    
    rem  查看数据路径
     C: mysqladmin variables | findstr "datadir"
    
    rem  查看存储引擎
     C: mysqladmin variables | findstr "default_storage_engine"
    
    rem  查看“hostname”
     C: mysqladmin variables | findstr "hostname"
    
    rem  查看“innodb”信息
     C: mysqladmin variables | findstr "innodb"
    
    rem  查看日志信息
     C: mysqladmin variables | findstr "log"
    
    rem  查看“port”信息
     C: mysqladmin variables | findstr "port"
    
    rem  性能查询
     C: mysqladmin status
    View Code

    3.2.设置

      字符集改为“gbk”,修改配置文件“[mysqld]”。

    character_set_server  = gbk

      可以修改的字符集,可以通过命令查询得知,也可以从配置文件(“sharecharsetsindex.xml”)里看到。

    mysql> show character set;

      监听端口改为“33306”,监听地址“192.168.130.1”:

    port = 33306
    bind_address = 192.168.130.1

      设定“bind_address”选项后,监听地址被限定在某一个接口地址上,不设定该选项,所有机器上地址都监听。默认监听显示“0.0.0.0”,表示监听了“所有 ipv4 地址”;如果是“::”,表示监听了“所有 ipv4 和 ipv6 地址”。

      数据库目录;复制默认的目录内容到新设定的数据目录中。

    datadir = D:/data/

    4.增加用户

    • 默认情况,mysql 只接受本地登录的用户;并且登陆无需密码,连用户名不输入都可以。
      mysql> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'some_pass';
      mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'
          ->     WITH GRANT OPTION;
      mysql>
      mysql> CREATE USER 'dev'@'localhost' IDENTIFIED BY 'develop';
      mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
          ->     ON bankaccount.*
          ->     TO 'dev'@'localhost';
      mysql>
      mysql> CREATE USER 'luck'@'localhost' IDENTIFIED BY 'some_pass';
      Query OK, 0 rows affected (0.00 sec)
      
      mysql> SHOW GRANTS FOR 'luck'@'localhost';
      +-------------------------------------------------------------------------------------------------------------+
      | Grants for luck@localhost                                                                                   |
      +-------------------------------------------------------------------------------------------------------------+
      | GRANT USAGE ON *.* TO 'luck'@'localhost' IDENTIFIED BY PASSWORD '*BF06A06D69EC935E85659FCDED1F6A80426ABD3B' |
      +-------------------------------------------------------------------------------------------------------------+
      1 row in set (0.00 sec)
      mysql>
      mysql> SET PASSWORD FOR
          -> 'admin'@'localhost' = PASSWORD('newpass');
      mysql> SET PASSWORD = PASSWORD('mypass');
      mysql>
      mysql> DROP USER 'admin'@'localhost';
      mysql> DROP USER 'dev'@'localhost';
      mysql> DROP USER 'luck'@'localhost';
      View Code

    mysqladmin

      语法:mysqladmin 选项 子命令;子命令:create、drop、extended-status、flush-privileges、flush-status、ping、kill、processlist、shutdown、status、(global )variables。选项:-i、-c。

    C:> mysqladmin -uroot -p -h192.168.130.1 extend-status
    C:> mysqladmin -uroot -p -h192.168.130.1 shutdown
    C:> mysqladmin -uroot -p -h192.168.130.1 ping

    5.design

    1. 1NF
      • 字段不可再分,有主键;
      • 满足 1NF,就认为是关系数据库;
    2. 2NF
      • 满足 1NF;
      • 非主键字段完全依赖主键;
    3. 3NF
      • 满足 2NF;
      • 行内不存在传递依赖;

    MySQL .

    一切代码都是为了生活,一切生活都是调剂
  • 相关阅读:
    MySQL约束笔记
    MySQL 存储过程入门
    数据库范式
    Hibernate 懒加载 错误----no session
    复选框 checkbox 选中事件
    Hibernate 三种状态变化 与 sql 语句的关系
    Spring 4 + Hibernate 4 下 getCurrentSession()的使用情况
    35个java代码性能优化总结
    为什么 Java中1000==1000为false而100==100为true?AND "2+2=5"?
    MyBatis对象关联关系----多对多的保存与查询
  • 原文地址:https://www.cnblogs.com/argor/p/7919324.html
Copyright © 2020-2023  润新知