argor

   :: 首页  :: 新随笔  :: 联系 ::  :: 管理

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


1.获取帮助文档

  • cd C:\Program Files\mysql\mysql-5.5.50-winx64
    C:\Program Files\mysql\mysql-5.5.50-winx64> bin\mysqld.exe --verbose --help > mysqld_note.txt
    View Code

     

2.在 Windows 平台以服务运行

2.1.启动服务器

  需要安装,写个安装脚本“bin\mysqld.exe --install”,执行即可。在服务管理运行数据库,默认服务名称“MySQL”。需要指定服务名称时,要在安装时设定“bin\mysqld.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 Files\mysql\mysql-5.5.50-winx64> bin\mysql -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:\WINDOWS\system32>mysqld --defaults-file=C:/data/my2.ini
160629 10:09:05 [Note] mysqld (mysqld 5.5.50) starting as process 14408 ...

C:\WINDOWS\system32>mysqld --defaults-file=C:/data/my3.ini
160629 10:09:30 [Note] mysqld (mysqld 5.5.50) starting as process 14508 ...

C:\WINDOWS\system32>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

  可以修改的字符集,可以通过命令查询得知,也可以从配置文件(“share\charsets\index.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 .

posted on 2017-11-29 11:18  argor  阅读(954)  评论(0)    收藏  举报