mysql5.1非安装zip文件版安装指南

原文链接:  http://blog.csdn.net/yippeelyl/article/details/39185539

 

 

 

解压缩版MySQL环境配置及入门
 
一、环境配置
1、解压 mysql-noinstall-5.1.53-win32.zip,在此我解压到了
E:\Language\Java\mysql-5.1.53-win32下。
2、在根目录下创建my.ini,内容如下:
[WinMySQLAdmin] 
# 指定mysql服务启动启动的文件
Server=E:\\Language\\Java\\mysql-5.1.53-win32\\bin\\mysqld-nt.exe
[mysqld]  
# 设置mysql的安装目录 
basedir=E:\\Language\\Java\\mysql-5.1.53-win32
# 设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx\data 
datadir=E:\\Language\\Java\\mysql-5.1.53-win32\\data
[client]
# 设置mysql客户端的字符集
default-character-set=utf8
[mysqld]   
default-character-set=utf8
 
3、安装mysql服务
(1) 配置环境变量
在path变量中,添加 E:\Language\Java\mysql-5.1.53-win32\bin; (根据自己的安装目录)
(2) 安装mysql服务
打开DOS窗口 开始->运行 (快捷键:win+r) 输入cmd
输入 mysqld --install mysql 回车,显示服务安装成功
 
(3) 启动mysql服务
右击我的电脑->管理 点击 “服务与应用程序”下的“服务”,右击启动mysql服务
或者在DOS窗口输入 net start mysql
 
(4) 进入mysql控制台
①ODBC用户登录:
进入DOS窗口,输入 mysql,回车,即可连接mysql服务器
 
②root用户登录:
.输入 mysql –u root –p
     解释:  mysql -u 用户名 -p 密码, 输入密码,初始值为空,可不用输入 
注:不指明用户等启用参数时,默认使用ODBC用户登录,而开发过程,我们一般使用root用户对数据库进行操作。
select user();   命令可显示当前登录用户
 
• 修改root用户密码:  
为了保证数据安全性,为root用户添加密码,步骤如下: 
1.use mysql;                  //选择mysql数据库
2.update user set password=password(‘新密码’) where user=‘root’;   //更改密码,如admin
3.flush privileges;        // 刷新系统权限表,更改 才生效
提示:在DOS下,按动键盘的上下键,可以在历史命令中,快速切换 
 
4、常用命令
•查看所有数据库   show databases;
•选择数据库  use mysql;
对数据的增、删、改、查都是对于特定数据库而言的,在进行数据操作之前,必须先选定要操作的数据库。
•查看数据库下的所有表   show tables;
•创建数据库      create database 库名;
 
  新创建的数据库保存在 data目录下。 方便宿舍->实验室  Copy 
•创建表       create table 表名 (字段设定列表);
•执行sql脚本文件,批量操作  source “路径名”+/xxxx.sql;  
注意:斜杠的方向 /  而不是 \
•设置编码     set charset gbk;
MySQL的命令行窗口显示中文,必须将编码设置为gbk,否则乱码!
•查看字符集  show variables like 'character%';
 
例子:连接MySQL后,在DOS下依次输入
(1)create databases helloworld;
(2)create table student
(     id int(10) primary key,
   number int(20) not null,
   name varchar(20) not null
);
(3)source E:/Language/Java/insert_student.sql
注:insert_student.sql内容为
insert into student values(4,411,'张三');
insert into student values(2,222,'李四');
insert into student values(3,333,'王五');
(4)set charset gbk;  
(5)select * from student;
 
5、Navicat  for MySQL
命令行繁琐,不易记忆
Navicat是一个MySQL数据库管理和开发工具,具有极好的图形用户界面。
控制台窗口的命令,都可以转换成Navicat的操作。
刚接触数据库,建议大家多用命令行操作。加深对SQL语句的理解,为将来数据库课程的学习提供帮助。 
 

 

1.准备工作

  下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\\ mysql-noinstall-5.1.53-win32。这个就是mysql的根目录了。

2.配置

  在根目录下有几个文件如下:

  • my-small.ini (这是针对一个小内存(〈= 64MB)的系统,MySQL 只会被时不时地用一下,很重要的是 mysqld 守护进程不会使用很多资源。)
  • my-medium.ini (这是针对一个小内存(32M- 64M)系统的,MySQL 扮演了一个比较重要的部分,或者当系统达到 128M 后 MySQL 被用来与其它程序(如一个 Web 服务器)一起使用。)
  • my-large.ini (这是针对一个内存 = 512M 的大系统,系统主要运行 MySQL)
  • my-huge.ini (这是针对一个内存为 1G – 2G 的大系统,系统主要运行 MySQL)
  • my-innodb-heavy-4G.ini (这是一个针对 4G 内存系统(主要运行只有 InnoDB 表的 MySQL 并使用几个连接数执行复杂的查询)的 MySQL 配置文件例子)

  对应自己的配置,自己选择下,其他的就删除吧。然后重命名成my.ini。编辑my.ini,在[mysqld]节点下增加如下几句:

basedir= D:/mysql-noinstall-5.1.53-win32 #根目录
datadir= D:/mysql-noinstall-5.1.53-win32/data #数据文件存放目录 

3.安装服务

cmd:进入mysql的根目录\bin:

mysqld --install MySQL

这样用默认的 MySQL 为名称添加了一个windows服务。要移除mysql服务:

mysqld –remove MySQL

设置服务为自动启动:

sc config MySQL start= auto

4.启动与关闭

cmd:

net start MySQL --启动
net stop MySQL --关闭 

mysql启动后。在任务管理器当中可以看到mysqld.exe这个进程。说明mysql已经安装好了。并且已经成功的启动!

5.精简:

  如果你觉得mysql目录过于庞大的话请看。根目录下可以只留下my.ini和bin,data,share目录,其余全部删除。bin目录下可以把.pdb的文件全部删除。

6.初始化数据库:

  由于mysql默认的root的密码为空并且只能本机登录,做如下修改:

cmd:进入mysql的根目录\bin:

mysql -uroot

这时进入了mysql命令行界面,继续输入:

mysql< use mysql;
mysql< delete from user;
mysql< grant all on *.* to root@'%' identified by "root" with grant option;
mysql< flush privileges;
mysql< quit; 

这样就给root用户赋予了初始密码"root",并且可以不限制本机登录。

7.乱码问题:

修改my.ini文件,找到[mysqld],在下方加上:

character-set-server = utf8 #mysql5.5开始
default-character-set = utf8 #mysql5.5以前

找到[client],在下方加上:

default-character-set = utf8
  1. mysql下载回来之后解压到D:/mysql-5.1.57-win32,把D:/mysql-5.1.57-win32/bin加入到系统环境变量 Path 中。
  2. 然后需要简单的配置mysql数据库,把my-small.ini改名为 my.ini (其他的几个文件也可以直接拿过来修改一下名字),编辑文件 my.ini,其内容完整如下

# Example MySQL config file for small systems.

# Example MySQL config file for small systems.

#

# This is for a system with little memory (<= 64M) where MySQL is only used

# from time to time and it's important that the mysqld daemon

# doesn't use much resources.

#

# MySQL programs look for option files in a set of

# locations which depend on the deployment platform.

# You can copy this option file to one of those

# locations. For information about these locations, see:

# http://dev.mysql.com/doc/mysql/en/option-files.html

#

# In this file, you can use all long options that a program supports.

# If you want to know which options a program supports, run the program

# with the "--help" option.

 

# The following options will be passed to all MySQL clients

[client]

#password = your_password

port = 3306

socket = /tmp/mysql.sock

default-character-set = utf8

 

# Here follows entries for some specific programs

 

# The MySQL server

[mysqld]

port = 3306

socket = /tmp/mysql.sock

default-character-set = utf8

basedir=D:/mysql-5.1.57-win32

datadir=D:/mysql-5.1.57-win32/data

default-storage-engine = MyISAM

 

# Don't listen on a TCP/IP port at all. This can be a security enhancement,

# if all processes that need to connect to mysqld run on the same host.

# All interaction with mysqld must be made via Unix sockets or named pipes.

# Note that using this option without enabling named pipes on Windows

# (using the "enable-named-pipe" option) will render mysqld useless!

#

#skip-networking

server-id    = 1

 

# Uncomment the following if you want to log updates

#log-bin=mysql-bin

 

# binary logging format - mixed recommended

#binlog_format=mixed

 

# Uncomment the following if you are using InnoDB tables

#innodb_data_home_dir = C://mysql//data//

#innodb_data_file_path = ibdata1:10M:autoextend

#innodb_log_group_home_dir = C://mysql//data//

# You can set .._buffer_pool_size up to 50 - 80 %

# of RAM but beware of setting memory usage too high

#innodb_buffer_pool_size = 16M

#innodb_additional_mem_pool_size = 2M

# Set .._log_file_size to 25 % of buffer pool size

#innodb_log_file_size = 5M

#innodb_log_buffer_size = 8M

#innodb_flush_log_at_trx_commit = 1

#innodb_lock_wait_timeout = 50

 

[mysqldump]

quick

max_allowed_packet = 16M

 

[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

 

[myisamchk]

key_buffer_size = 8M

sort_buffer_size = 8M

 

[mysqlhotcopy]

interactive-timeout

 

 

重点配置:配置了客户端和服务器端的默认字符编码为utf8(default-character-set = utf8),防止输入中文数据时,保存后读取出来变成问号。mysql安装目录和数据库保存目录,默认数据库引擎为MyISAM。
3、运行中启动数据库

 

输入:mysqld.exe 就可以启动服务了

 

  1. cmd中关闭数据库
    命令mysqladmin -u root shutdown

 

 

mysql5.1非安装zip文件版安装指南

 

一、安装


mysql的默认安装位置在C:/MySQL,这一点并不会因为你将文件放在哪个目录而改变,因为其选项文件是那样设置的,要想将mysql真正安装至
其他位置,需要调节服务器设定值。
档MySQL服务器在Windows中启动时,它从两个文件中寻找选项:Windows目录中的my.ini文件和C:\my.cnf 文件。Windows目录典型名称为C:\WINDOWS或C:\WINNT。可以使用下面的命令从WINDIR环境变量值确定自己的确切位置:
C:\> echo %WINDIR%
MySQL首先从my.ini文件中寻找选项,然后从my.cnf文件中寻找。
最好的选择是只用一个,比如my.ini,这样即使系统盘不是C盘也没问题。

 

[mysqld]
# set basedir to your installation path
basedir=D:/javatool/MySQL/MySQL Server 5.1
# set datadir to the location of your data directory
datadir=D:/javatool/MySQL/MySQL Server 5.1/data

这是我的安装目录,将以上内容保存成my.ini文件放入C:\windows下即可。

 

二、启动


要想启动服务器,有两种方式:
1、输入命令:

C:\> D:\javatool\MySQL\MySQL Server 5.1\bin\mysqld --console

 

假如不想每次都进入MySQL的bin目录,就将其加到path里面,方便一点。但是如果在同一个机器上运行多个MySQL服务器,就不要在Windows PATH中加入MySQL bin目录。


支持InnoDB的服务器启动时,你应当能看见下面的消息:

InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist:
InnoDB: a new database to be created!
InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200
InnoDB: Database physically writes the file full: wait...
InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: creating foreign key constraint system tables
InnoDB: foreign key constraint system tables created
011024 10:58:25  InnoDB: Started
服务器完成启动序列后,你应当能看见下述内容,表示服务器准备好,可以进行客户端连接:

mysqld: ready for connections
Version: '5.1.2-alpha'  socket: ''  port: 3306
服务器继续向控制台写入诊断输出。你可以打开新的控制台窗口运行客户端程序。

如果省略--console选项,服务器向数据目录(默认为C:\Program Files\MySQL\MySQL Server 5.1\data)中的错误日志写入诊断输出。错误日志文件的扩展名为.err。

 

2、以Windows服务方式启动MySQL

建议将MySQL安装为Windows服务,当Windows启动、停止时,MySQL也自动启动、停止。还可以从命令行使用NET命令。
在Windows控制面板(Windows 2000,XP和Server 2003的管理工具下面)中可以看见Services工具(Windows Service Control Manager)。建议从命令行安装活卸载服务器时关闭Services工具。这样可以防止许多错误。

 

安装MySQL Windows服务之前,应当使用下面的命令先停止当前正运行的服务器:

C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin -u root shutdown
注意:如果MySQL root用户账户有密码,你需要调用命令 C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin -u root -p shutdown并根据提示输入密码。

使用该命令安装服务器

C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld --install
安装服务时,可以使用MySQL 5.1中的下面的参数:
· 可以直接在--install选项后面指定服务名。默认服务名是MySQL。
· 如果给出了服务名,后面可以跟一个选项。一般情况,应当为defaults-file="file_name",指定选项文件的名称,服务器启动时应当从中读取选项。
可以使用单个选项代替--defaults-file,但是不提倡这样做。--defaults-file更加灵活一些,因为你可以将多个服务器启动选项放入命名的选项文件中。
· 可以在服务名后面指定一个--local-service选项。这样服务器运行时使用LocalService Windows账户,只具有有限的系统权限。该账户只适用于Windows XP或更新版本。如果服务名后面同时跟有--defaults-file和--local-service,二者可以按任何顺序排放。
对于Windows MySQL服务器,根据下面规则确定服务器使用的服务名和选项文件:
· 如果在服务安装命令中,没有在--install选项后面指定了服务名或使用默认服务名(MySQL),服务器则使用MySQL服务名并从标准选项文件的[mysqld]组读取选项。
· 如果在服务安装命令中,在--install选项后面指定的服务名不是默认服务名(MySQL)。则从具有相同服务名的组中读取选项,并从标准选项文件读取选项。
服务器还从标准选项文件的[mysqld]组读取选项。你可以使用[mysqld]组中的选项用于所有MySQL 服务,还可以使用具有相同服务名的组,用于该服务名所对应的服务器。
· 如果在服务安装命令中,在服务名后面指定了--defaults-file选项,服务器只从命名文件的[mysqld]组中读取选项,忽略标准选项文件。对于更复杂的例子可以考虑使用命令:
C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld --install MySQL --defaults-file=C:\my-opts.cnf
该命令中,--install选项后面给出了默认服务名(MySQL)。如果未给出--defaults-file选项,该命令可以让服务器从标准选项文件的[mysqld]组中读数。由于提供了--defaults-file选项,服务器只从命名文件的[mysqld]组读取选项。
还可以在启动MySQL服务之前,在Windows Services工具中指定启动参数选项。
MySQL服务器安装为服务后,Windows启动时自动启动服务。还可以从Services工具直接启动服务,或使用命令NET START MySQL。NET命令忽略大小写。

 

三、关闭


下述命令可以停止MySQL服务器:
C:\> D:\javatool\MySQL\MySQL Server 5.1\bin\mysqladmin -u root shutdown

 

 

四、mysql帐户安全


初始的mysql没有密码,出于安全,有必要为root用户设置密码。

 

要想为匿名账户指定密码,可以使用SET PASSWORD或UPDATE。在两种情况中,一定要使用PASSWORD()函数为密码加密。

在Windows中使用PASSWORD的方法:

shell> mysql -u root
mysql> SET PASSWORD FOR '  '@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR '  '@'%' = PASSWORD('newpwd');
在Unix中使用PASSWORD的方法:

shell> mysql -u root
mysql> SET PASSWORD FOR '  '@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR '  '@'host_name' = PASSWORD('newpwd');


为匿名账户指定密码的另一种方法是使用UPDATE直接修改用户表。用root连接服务器,运行UPDATE语句为相应user表记录的Password列指定一个值。在Windows和Unix中的过程是相同的。下面的UPDATE语句同时为两个匿名账户指定密码:

shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
    ->     WHERE User = '';
mysql> FLUSH PRIVILEGES;
在user表中直接使用UPDATE更新密码后,必须让服务器用FLUSH PRIVILEGES重新读授权表。否则,重新启动服务器前,不会使用更改。

如果你宁愿删除匿名账户,操作方法是:

shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
可以在Windows和Unix中使用DELETE语句。在Windows中,如果你只想删掉具有与root相同权限的匿名账户,方法为:

shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
mysql> FLUSH PRIVILEGES;
该账户允许匿名访问,但是拥有全部的权限,因此删掉它可以提高安全。


可以用几种方法为root账户指定密码。以下介绍了三种方法:

·         使用SET PASSWORD语句

·         使用mysqladmin命令行客户端程序

·         使用UPDATE语句

要想使用SET PASSWORD指定密码,用root连接服务器并执行两个SET PASSWORD语句。一定要使用PASSWORD()函数来加密密码。

在Windows中的语句:

shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('newpwd');
在Unix中的语句:

shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');
用服务器主机名替换第二个SET PASSWORD语句中的host_name。这是你指定匿名账户密码的主机名。

要想使用mysqladmin为root账户指定密码,执行下面的命令:

  shell> mysqladmin -u root password "newpwd"
  shell> mysqladmin -u root -h host_name password "newpwd"
上述命令适用于Windows和Unix。用服务器主机名替换第二个命令中的host_name。不一定需要将密码用双引号引起来,但是你如果密码中包含空格或专用于命令解释的其它字符,则需要用双引号引起来。

你还可以使用UPDATE直接修改user表。下面的UPDATE语句可以同时为两个root账户指定密码:

shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
    ->     WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
UPDATE语句适用于Windows和Unix。

设置完密码后,当你连接服务器时你必须提供相应密码。例如,如果你想要用mysqladmin 关闭服务器,可以使用下面的命令:

shell> mysqladmin -u root -p shutdown
Enter password: (enter root password here)

posted @ 2017-11-18 14:40  免费用户  阅读(1394)  评论(0编辑  收藏  举报