windows下MySQL解压缩版安装配置

一、安装:

下载地址:
http://www.mysql.com/downloads/mysql/
我的是以前下的mysql-5.5.17-winx64.zip,解压后即可:



二、配置:

1)、默认参数文件。安装目录下有五个*.ini文件,这五个是模板文件,目测了下基本没啥区别,主要的区别就是分配的内存大小不一样。

①my-small.ini是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
②my-medium.ini是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
③my-large.ini是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。
④my-huge.ini是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。⑤my-innodb-heavy-4G.ini用于只有InnoDB的安装,最多有4G RAM,支持大的查询。我们要建立一个名为my.ini的配置文件用以mysql启动。mysql启动时,如果有my.ini文件,则会读取该文件中的配置信息作为默认参数,如果找不到my.ini文件,服务也能启动,具体的默认参数从哪来的,我也不清楚(有人知道不?),但是我能肯定的是,默认配置不是从目录下的那五个模板文件中读取。mysql读取配置文件的顺序为:
C:\my.ini --> C:\my.cnf --> C:\WINDOWS\my.ini --> C:\WINDOWS\my.cnf --> 安装目录\my.ini --> 安装录\my.cnf

可以参照五个模板新建或者直接copy一个保存为my.ini,具体个性化的参数,可以自行设置,如各种端口啊、内存啊、字符集啊神马的。

2)、环境变量。在path中增加mysql安装的路径,免得每次执行bin目录下的命令时都要输全路径。



一直配置到mysql所在目录下的bin目录,F:\InstallProgram\work\mysql\mysql-5.5.17-winx64\bin

3)、启动命令。mysql的启动命令是bin\mysqld.exe,懒得每次都输入命令,可以在安装目下建立一个批处理文件,一点就OK了。新建文本文件,输入 bin\mysqld.exe--console 保存为start.bat,以后双击就行了。现在目录下多了两了文件了:



4)、数据库配置。
1、启动:双击start.bat启动服务:



看到如此页面,则表示启动成功,如果启动不成功,需要去检查配置文件。

2、登录:



-u root 表示以root用户登录。不指定用户名的话,将会匿名登录,建议直接删除此匿名用户(否则以后会出现问题,后面我会提到)。刚登录时并没有要求我们输入密码,这是因为mysql压缩版的root用户默认密码为空,查看mysql数据库下的user表可知:

mysql> select * from mysql.user;
复制代码




貌似图太小了?换一张,截掉了后面权限相关的字段:



user表介绍:
user是mysql下的一张表,记录了用户及相关权限的信息。
主键为:Host+User
Host:表示账号允许从哪个主机联机。
User:账号。
Password:密码。
---以下部分为网上直接copy来的,^_^-

Select_priv。确定用户是否可以通过SELECT命令选择数据。
Insert_priv。确定用户是否可以通过INSERT命令插入数据。
Update_priv。确定用户是否可以通过UPDATE命令修改现有数据。
Delete_priv。确定用户是否可以通过DELETE命令删除现有数据。
Create_priv。确定用户是否可以创建新的数据库和表。
Drop_priv。确定用户是否可以删除现有数据库和表。
Reload_priv。确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表。
Shutdown_priv。确定用户是否可以关闭MySQL服务器。在将此权限提供给root账户之外的任何用户时,都应当非常谨慎。
Process_priv。确定用户是否可以通过SHOW PROCESSLIST命令查看其他用户的进程。
File_priv。确定用户是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令。
Grant_priv。确定用户是否可以将已经授予给该用户自己的权限再授予其他用户。例如,如果用户可以插入、选择和删除foo数据库中的信息,并且授予了GRANT权限,则该用户就可以将其任何或全部权限授予系统中的任何其他用户。
References_priv。目前只是某些未来功能的占位符;现在没有作用。
Index_priv。确定用户是否可以创建和删除表索引。
Alter_priv。确定用户是否可以重命名和修改表结构。
Show_db_priv。确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。可以考虑对所有用户禁用这个权限,除非有特别不可抗拒的原因。
Super_priv。确定用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET
GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令。
Create_tmp_table_priv。确定用户是否可以创建临时表。
Lock_tables_priv。确定用户是否可以使用LOCK TABLES命令阻止对表的访问/修改。
Execute_priv。确定用户是否可以执行存储过程。此权限只在MySQL 5.0及更高版本中有意义。
Repl_slave_priv。确定用户是否可以读取用于维护复制数据库环境的二进制日志文件。此用户位于主系统中,有利于主机和客户机之间的通信。
Repl_client_priv。确定用户是否可以确定复制从服务器和主服务器的位置。
Create_view_priv。确定用户是否可以创建视图。此权限只在MySQL 5.0及更高版本中有意义。关于视图的更多信息,参见第34章。
Show_view_priv。确定用户是否可以查看视图或了解视图如何执行。此权限只在MySQL 5.0及更高版本中有意义。关于视图的更多信息,参见第34章。
Create_routine_priv。确定用户是否可以更改或放弃存储过程和函数。此权限是在MySQL 5.0中引入的。
Alter_routine_priv。确定用户是否可以修改或删除存储函数及函数。此权限是在MySQL 5.0中引入的。
Create_user_priv。确定用户是否可以执行CREATE USER命令,这个命令用于创建新的MySQL账户。
Event_priv。确定用户能否创建、修改和删除事件。这个权限是MySQL 5.1.6新增的。
Trigger_priv。确定用户能否创建和删除触发器,这个权限是MySQL 5.1.6新增的。
复制代码



此外,默认情况下mysql是不允许远程访问的,也不支持root用户远程访问,原因在于host字段的值:localhost和127.0.0.1都表示本地访问。host字段还可以赋值为IP地址或者%,%表示可以在任何地方连接。

3、修改初始化账号:


mysql> update mysql.user set password=PASSWORD('root') where user='root' or user='';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> grant all on *.* to root@'%' identified by 'root';
Query OK, 0 rows affected (0.00 sec)

mysql> select * from mysql.user;

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
复制代码

PS:PASSWORD函数表示对密码加密,否则的话就是明文了。




貌似这张图也小了?换一张,截掉了后边权限相关的字段:




OK,root账户和匿名账户的问题(暂时)搞定了。

4、配置hive账户:


mysql> grant all on *.* to 'hive'@'%' identified by 'hive' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
复制代码





这张也小?换一张,截掉了后边权限相关的字段:




测试hive账号:



远程连接看样子是没问题的,那么local的呢?



local连接失败,hive我明明赋值了host为%啊。。。。这是为什么捏?罪魁祸首就是那个未删除的匿名用户,原因用户登陆的时候,数据库是先匹配host的,而数据库中localhost和127.0.0.1都找不找一个叫hive的user,所以连接失败。解决方法就是把匿名用户删掉就可以了,别的不变:



再次登录就OK了:



5、简单测试下:



目测,暂时没啥问题了。至此,mysql部署成功。


原文地址:http://www.dataguru.cn/forum.php?mod=viewthread&tid=34746

猜你喜欢

转载自shitou521.iteye.com/blog/1759885