安装绿色版MySQL,delphi已经包含了一个php和apache,所以我们仅需要安装绿色版的mysql
为什么选择这个版本呢?因为它可定制性强,出了问题可以自己找原因解决
· 这是个不要安装的版本,找到下载后的mysql-5.2.3-falcon-alpha-win32.zip,解压到D盘,是一个“mysql-5.2.3-falcon-alpha-win32”文件夹,这里我把它改 名为“mysql”,因为我不喜欢带版本号。即这时是“D:\mysql”目录,这个目录下有一个“data”目录,这里就是存放数据的地方。为了方便备 份和升级,最好把它放在其它地方。这里我在D盘新建一个目录“mysql-data”,然后把“D:\mysql”目录下的“data”子目录剪切到 “D:\mysql-data”目录中。
·新建一个“my.ini”文件,注意后缀名是“ini”。内容如下:
E:\WINDOWS\my.ini
|
[WinMySQLAdmin] Server=D:/mysql/bin/mysqld-nt.exe
[mysqld] basedir=D:/mysql datadir=D:/mysql-data/data
|
上面“Server”指向MySQL的执行主程序,“basedir”指向MySQL的安装目录,“datadir”指向MySQL的数据存放目录(因为我改变了它,所以需要特别指定)。
然后把这个文件移动到
Windows的系统安装目录下,我这里是“C:\WINDOWS”。,注意这两个文件必须在数据库路径和WINDOWS系统路径下都要有一份.我安装注册时是这样的.
· 打开MS-DOS窗口,切换到“C:\mysql\bin”目录;或者把“C:\mysql\bin”添加到“环境变量”的“Path”变量中,这样可以少很多麻烦,以后启动的时候就不要切换目录了.
·加入到Windows 2003的服务中:
D:\mysql\bin> mysqld-nt -install,注意如果以前曾经安装过mysql,请删除它 删除原来mysql服务的命令时 sc delete mysql
(这时打开“控制面板”->管理工具->服务:可以看到服务列表中存在“MySQL”服务,如果不希望它自动执行,可以改为手动,不用它的时候可以节省点内存)
启动和停止mysql服务
D:\mysql\bin>net start mysql
D:\mysql\bin>net stop mysql
移出mysql服务
mysqld-nt --remove
(如果你不再需要MySQL了,先停止MySQL服务,然后再移出MySQL服务,最后删除MySQL安装目录.
连接MySQL
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开 DOS 窗口,然后进入目录 mysql\bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好 MySQL,超级用户 root 是没有密码的,故直接回车即可进入到 MySQL 中了,MySQL 的提示符是:mysql>
2、例2:连接到远程主机上的 MySQL。
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出 MySQL 命令: exit (回车)
修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg345
增加新用户。
(注意:和上面不同,下面的因为是 MySQL 环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:
grant select, insert, update, delete on *.* to test1@"%" Identified by "abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库 mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码, 他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select, insert, update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select, insert, update, delete on mydb.* to test2@localhost identified by "";
在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。
相信有人也用过MYSQL的GUI TOOLS吧,当输入中文的时候,查表时候看到,刚才输入的中文变成了“??????”,为什么呢?
知道为什么了吧,原来默认字符是“latin1”,因为MySQL是瑞典一家公司的产品。中国人看来要努力了!
6、解决方法:
· 停止MySql服务,关闭所有与MySql相关的程序,打开Windows的系统安装目录下的 my.ini 文件,如下修改:
E:\WINDOWS\my.ini
|
[WinMySQLAdmin] Server=D:/mysql/bin/mysqld-nt.exe
[mysqld] basedir=D:/mysql datadir=D:/mysql-data/data
default-character-set=gbk
[client] default-character-set=gbk
|
添加的两条语句的含义是在客户端和服务端都使用GBK字符集进行编码。
保存后,重新激活 MySql 服务,打开“MySQL Query Browser”,再次创建一个表,输入中文,一切OK!