follow大神教程——实践java爬虫之五

虽然本电脑配置还能够,但我总有点脑壳抽筋,不想多装软件拖慢电脑速度。php

和数据库相关的本机已有WampServer和navicat(如今不搞php,wamp能够卸载了,navicat挺好用的,以为太大的话能够试试小工具SQL-Front),现现在须要搞Java的mysql使用,便不得不装mysql了。html

不知何时下载的mysql安装包有30+M,如今官方版的得200M吧http://dev.mysql.com/downloads/mysqlmysql

小安装包安装过程很顺利,肯定按钮没有显示出配置对话框,cd到bin目录下也彻底用不了,卧槽,这什么软件!!sql

装mysql官方绿色版算了数据库

下载获得mysql-noinstall-5.1.57-win32.zip(115M,某网盘下得),解压服务器

最经常使用子目录:ide

bin 包含mysql的启动、中止等各类操做命令文件;工具

data数据库存放目录;编码

Docs包含了mysql的文档;spa

5个ini文件分别表示不一样级别的mysql配置文件;

 

1. 配置免安装版MySQL

http://hi.baidu.com/lomgzhu/item/a7c976f126e802713c198b6f

 

 

一、下载mysql(免安装版)

http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-win32.zip

减压到一个指定目录下。例如:E:\Program Files (x86)\mysql-5.6.14

二、配置my.ini文件

my-small.ini、my-huge.ini或者default.ini修改成my.ini(我改的my-small.ini)

修改安装目录和db位置以及编码、端口等

[mysqld]

# 目录文件若是不加引号,路径中就不能有空格

basedir = "E:/Program Files (x86)/mysql-5.6.14/"

datadir = "E:/Program Files (x86)/mysql-5.6.14/data/"

port = 3306

设置默认编码格式放到[mysql]、[mysqld]或者[client]下针对的域不一样(其实这些能够进入mysql后设置)

[mysqld]组下面添加,设置服务器端编码

{!若是写成default-character-set = utf8会报错,see MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码)

character-set-server=utf8

 [client]组下面添加,设置客户端编码  

default-character-set = utf8

三、配置服务

管理员身份执行注册服务(这里若是没有配置环境变量的话,须要进入到mysql的bin目录下执行;环境变量配置在path下增长E:\Program Files (x86)\mysql-5.6.14\bin就行)

mysqld --install mysql-5.6.14 --defaults-file="E:\Program Files (x86)\mysql-5.6.14\my.ini"

启动服务

net start mysql-5.6.14

命令行登陆

bin\mysql -u root -p

中止服务

net stop mysql-5.6.14 【我没有将mysql目录添加到path中,但在cmd下也可直接使用net start/stop mysql 真不错】

删除服务

bin\mysqld --remove mysql-5.6.14

启动服务不经过注册

bin\mysqld --console
【略显鸡肋,运行以后cmd无法用了,关闭mysql服务的方法是关闭cmd窗口】

中止服务不经过注册服务

bin\mysqladmin -u root shutdown

 

 

mysql --console 注意console前面是两个“-”,就由于这个我还觉得前面装的mysql没用呢,应该是这里搞错了;

下图中配置mysql的命令时,也要是两个“-”;

 

图 1 经过注册启动服务

图 2 不经过注册启动服务

2. 可能出现的错误

若是在“经过注册启动服务”的过程当中出现以下错误:

C:\Windows\system32>net start mysql

mysql 服务正在启动 ...

mysql 服务没法启动。


系统出错。


发生系统错误 1067。


进程意外终止。

这是由于Windows防火墙阻拦,用“不经过注册启动服务”的方法,会弹出对话框,点击容许经过防火墙便可。

接下来就能够用“经过注册启动服务”的方法了。

3. MySQL推荐教程系列

①mysql命令大全(http://c.biancheng.net/cpp/u/mysql_ml/)

  1. 添加用户

    //登陆MYSQL
    @>mysql -u root -p
    @>密码
    //建立用户
    mysql> insert into mysql.user(Host,User,Password) values('localhost','phplamp',password('1234'));
    //刷新系统权限表
    mysql>flush privileges;
    这样就建立了一个名为:phplamp  密码为:1234  的用户。

    //退出后登陆一下
    mysql>exit;
    @>mysql -u phplamp -p
    @>输入密码
    mysql>登陆成功

    (参考:http://www.cnblogs.com/aidd2008/archive/2009/04/16/1437609.html)

  2. 查看全部用户的权限

    在root下输入: mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

    (参考http://blog.csdn.net/lampsunny/article/details/7410662)

3.为用户受权

//登陆MYSQL(有ROOT权限)。我里我以ROOT身份登陆.
@>mysql -u root -p
@>密码
//首先为用户建立一个数据库(phplampDB)
mysql>create database phplampDB;
//受权phplamp用户拥有phplamp数据库的全部权限
@>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操做

//若是想指定部分权限给一用户,能够这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;

mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘链接口令’;

权限1,权限2,…权限n表明select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户所有权限。
当数据库名称.表名称被*.*代替,表示赋予用户操做服务器上全部数据库全部表的权限。
用户地址能够是localhost,也能够是ip地址、机器名字、域名。也能够用’%'表示从任何地址链接。
‘链接口令’不能为空,不然建立失败。

例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操做的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc全部表进行全部操做的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对全部数据库的全部表进行全部操做的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
给本机用户joe分配可对全部数据库的全部表进行全部操做的权限,并设定口令为123。


②MySql命令行添加用户(http://my.oschina.net/u/1179414/blog/202377)

建立用户:

命令:

1
CREATE USER  'username' @ 'host'  IDENTIFIED BY  'password' ;

说明:username – 你将建立的用户名, host – 指定该用户在哪一个主机上能够登录,若是是本地用户可用localhost,  如 果想让该用户能够从任意远程主机登录,可使用通配符%. password –  该用户的登录密码,密码能够为空,若是为空则该用户能够不须要密码登 陆服务器.

例子:

1
2
3
4
5
CREATE USER  'dog' @ 'localhost'  IDENTIFIED BY  '123456'
CREATE USER  'pig' @ '192.168.1.101_'  IDENDIFIED BY  '123456'
CREATE USER  'pig' @ '%'  IDENTIFIED BY  '123456'
CREATE USER  'pig' @ '%'  IDENTIFIED BY  ''
CREATE USER  'pig' @ '%' ;

受权:

命令:

1
GRANT privileges ON databasename.tablename TO  'username' @ 'host'

说明: privileges – 用户的操做权限,如SELECT , INSERT , UPDATE  等(详细列表见该文最后面).若是要授予所 的权限则使用ALL.;databasename –  数据库名,tablename-表名,若是要授予该用户对全部数据库和表的相应操做权限则可用* 表示, 如*.*.
例子:

1
2
GRANT SELECT, INSERT ON  test .user TO  'pig' @ '%'
GRANT ALL ON *.* TO  'pig' @ '%' ;

注意:用以上命令受权的用户不能给其它用户受权,若是想让该用户能够受权,用如下命令:

1
GRANT privileges ON databasename.tablename TO  'username' @ 'host'  WITH GRANT OPTION;

设置与更改用户密码

命令:

1
SET PASSWORD FOR  'username' @ 'host'  = PASSWORD( 'newpassword' );

若是是当前登录用户用

1
SET PASSWORD = PASSWORD( "newpassword" );

撤销用户权限 

命令:

1
REVOKE privilege ON databasename.tablename FROM  'username' @ 'host' ;

说明: privilege, databasename, tablename – 同受权部分.
例子

1
REVOKE SELECT ON *.* FROM  'pig' @ '%' ;

注意: 假如你在给用户’pig’@'%’受权的时候是这样的(或相似 的):GRANT SELECT ON test.user TO  ‘pig’@'%’, 则在使用 REVOKE SELECT ON *.* FROM  ‘pig’@'%’;命令并不能撤销该用户对test数据库中user表的SELECT 操做. 相反,若是受权使用的是GRANT SELECT ON  *.* TO ‘pig’@'%’;则 REVOKE SELECT ON test.user FROM  ‘pig’@'%’;命令也不能撤销该用户对test数据库中user表的 Select 权限.

具体信息能够用命令SHOW GRANTS FOR ‘pig’@'%’; 查看.

删除用户

命令:

1
DROP USER ‘username’@'host’;

一个典型的数据库建表, 建用户过程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
建立用于localhost链接的用户并指定密码 
mysql> create user  'pcom' @ 'localhost'  identified by  'aaa7B2249'
Query OK, 0 rows affected (0.00 sec) 
      
建立数据库 
mysql> create database pcom default character  set  utf8 collate utf8_bin; 
Query OK, 1 row affected (0.00 sec) 
      
给本地用户受权, 这里不须要指定密码 
mysql> grant all on pcom.* to  'pcom' @ 'localhost'
Query OK, 0 rows affected (0.00 sec) 
      
给其余IP地址下的用户受权, 注意: 这里必须指定密码, 不然就能够无密码访问 
mysql> grant all on pcom.* to  'pcom' @ '192.168.0.0/255.255.0.0'  identified by  'aaa7B2249'
Query OK, 0 rows affected (0.00 sec) 
      
同理 
mysql> grant all on pcom.* to  'pcom' @ '172.20.0.0/255.255.0.0'  identified by  'aaa7B2249'
Query OK, 0 rows affected (0.00 sec) 
      
Done!
相关文章
相关标签/搜索