您的位置:首页 > 移动开发 > Unity3D

mysql-5.5.50-winx64 on x86 (MySQL Community Server (GPL))

2016-06-23 07:32 330 查看
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


2 在 Windows 平台以服务运行
2.1 启动服务器

  需要安装,写个安装脚本“bin\mysqld.exe --install”,执行即可。在服务管理运行数据库,默认服务名称“MySQL”。需要指定服务名称时,要在安装时设定“bin\mysqld.exe --install mysql5.5”。
  安装时,如果使用“--install”表示主机启动时自动启动服务,使用“--install-manual”表示不启动。

  启动数据库②
C:\> net start mysql


  启动数据库②
C:\> sc query mysql
C:\> sc start mysql


  查看监听

C:\> netstat -na -p tcp


  连接服务器,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;


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
  启动服务:
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


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
  此时,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
C:\> mysql -umldn -p --protocol=memory -Dmldn --shared-memory-base-name=MYSQL1
C:\> mysql --protocol=memory --shared_memory_base_name=MYSQL1 -uroot
mysql> show variables like '%memory%';


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


3 配置信息
  在没有“任何配置”的情况下,服务依然可以启动,需要有效控制服务启动时设定配置文件。在安装目录下依据参考配置文件,修改(复制)为“my.ini”。
  查看运行时配置信息。(帮助文档最后一行获悉)(设定下环境变量)

3.1 查询
  配置查询
C:\ mysqladmin variables
  查看字符集
C:\ mysqladmin variables | findstr "character"
  查看数据路径
C:\ mysqladmin variables | findstr "datadir"
  查看存储引擎
C:\ mysqladmin variables | findstr "default_storage_engine"
  查看“hostname”

C:\ mysqladmin variables | findstr "hostname"
  查看“innodb”信息

C:\ mysqladmin variables | findstr "innodb"
  查看日志信息

C:\ mysqladmin variables | findstr "log"

  查看“port”信息

C:\ mysqladmin variables | findstr "port"


  性能查询

C:\ mysqladmin status


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 只接受本地登录的用户;并且登陆无需密码,连用户名不输入都可以。

4.1 root用户
  默认情况下,root在本地登录时不需要密码;甚至不需要用户名也可以登陆。可是要是修改了监听 IP 地址时,所有用户就统统无法登陆了。需要在修改监听之前设定好,这里仅仅设定了查询 mysql 库的权限。
mysql> create user 'root'@'192.168.130.1';
mysql> update user set Select_priv='Y' where user='root' and host='192.168.130.1';
mysql> update user set password=password('xxxxxx') where host='192.168.130.1';
mysql> select host,user,password from user ;
+---------------+------+-------------------------------------------+
| host          | user | password                                  |
+---------------+------+-------------------------------------------+
| localhost     | root |                                           |
| 127.0.0.1     | root |                                           |
| ::1           | root |                                           |
| localhost     |      |                                           |
| 192.168.130.1 | root | *BDAB0082659254CA8B96B38EC29F67DB05A48D3C |
+---------------+------+-------------------------------------------+
5 rows in set (0.00 sec)
  使用“set password for 'user'@'host'=password('new-password');”也可以修改密码;或者“grant all privileges on database.table to 'user'@'host' identified by 'new-password;'”。

  增加更多权限。
mysql> grant all on mysql.* to 'root'@'192.168.130.1';
  配置生效:
mysql> flush privileges;


4.2 其他用户
  针对数据库“test”增加一个高级用户。
mysql> create user 'sunny'@'192.168.130.1';
mysql> update user set password=password('xxxxxx') where user='sunny';
mysql> grant all on test.* to 'sunny'@'192.168.130.1';
mysql> flush privileges;


  登陆后,执行下边命令,查看当前用户、当前连接数据库:
mysql> select user();
mysql> select database();


4.3 test库的问题

  当设定的用户是“test”库时,如果输入错误的密码当然无法登陆。但是在不输入密码(设置过密码)的情况下,却也可以登陆。这是应为用户登录数据库,受到多个表的管制,打开表“mysql.db”时,啥都明白了。
mysql> select host,db,user from db;
+---------------+---------+-------+
| host          | db      | user  |
+---------------+---------+-------+
| %             | test    |       |
| %             | test\_% |       |
| 192.168.130.1 | test    | sunny |
+---------------+---------+-------+
3 rows in set (0.00 sec)
  这个表内容,是什么意思。“登陆任意主机”、“test库”“test_开头的库”,不需要用户名即可登录。当然在输入用户名“sunny”没有输入密码时可以登录。

4.4 默认‘root’权限

  查看原有用户权限“show grants”,给新用户赋予相应权限:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
mysql> GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION;


5 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


查询
查看当前库、库包含的表:

mysql> select database();
mysql> show tables;


查看当前用户、用户权限:

mysql> select user();
mysql> show grants for 'mldn'@'localhost';


查看表属性(可以使用“%”作为通配符匹配)、创建语句:

mysql> show table status like 'user' \G
mysql> show create table user\G


查看变量(默认显示会话变量,“session”、“global”)

mysql> show variables like '%memory%';




  

本文出自 “小崔的实验笔记” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: