MySQL免安装版
参考1
身为一位新手,我深感对IT技术拥有高度敏感性的重要性,而我却恰恰缺少这种敏感性。最近学习java web用到了数据库,便下下来了mysql的免安装版,解压后,依次点击bin文件夹里的mysqld.exe和mysql.exe,成功打开。可用了一会慢慢发现,在这里面根本建立不了数据库,也许是因为我对数据库根本不了解,以前没怎么接触过,只学过sql语言而已,根本还没有以某一用户的身份登录,怎么可能能建新数据库呢,就从这一点出发,发掘出来一个让我折腾了一晚上的问题,就是mysql免安装版的配置问题。
原来不知道免安装版还是要进行手工配置的,这就是我缺少敏感性的地方。在网上查找资料的过程中,一不小心打开了一个页面,上面介绍了免安装版的配置方法,这才让我恍然大悟,于是我便依照上面所说,进行配置。
第一步:打开根目录下,打开my-huge.ini(其他my-*.ini文件也可以),做一些修改(具
全是),然后另存为my.ini,至于这一文体修改方法不说,网上搜“mysql免安装版配置”
件的存放位置,有的说在C:\Windows下,有的说在mysql的根目录下,由于这点与本文无关,不再纠结这个。
第二步:以管理员身份运行DOS窗口,将目录调到mysql安装目录的bin文件夹下(如果不想老是调目录,可以把bin文件夹加到path环境变量中去,这样可以直接在打开的命令提示符下运行bin文件夹下的命令),运行mysqld -install,这样将MySQL服务加载到了windows服务中去,且为“自动”状态,然后运行net start MySQL,就可以启动这一服务了,然后就配置成功了。
网上的方法大致都是上面这种方法,略有差别,我都试了试,可是在启动MySQL服务的时候总是出现启动失败,错误1067,进程意外结束这种错误,一遍一遍的卸载服务,安装服务,修改my.ini,可全都不管用。后来看到一个方法说执行命令:mysql -u root shutdown可以解决,我便试了试,可是弹出错误,让我查看进程mysqld.exe是否在运行,打开任务管理器,发现没有这一进程,便进到bin文件夹中双击mysqld.exe,双击好几次却始终启动不起来,这时心里就有点急躁了,可还是耐住性子,把系统恢复到原来的状态:卸载服务(命
令是:mysqld -remove,同样要在DOS窗口以管理员身份运行的情况下),删除my.ini。这个时候再重新加载服务:mysqld -install,系统提示加载成功后,又运行net start MySQL,意外发现启动成功了~原来都是这个my.ini惹的祸,但我还是不知道这个是做什么用的,总之,问题是解决了,也许现在的版本不需要这个文件了吧。
本来以为这个版本是不需要配置my.ini文件的,但在后来使用过程中遭遇到了中文乱码的问题。虽然乱码这一问题可以通过命令(set names gbk)解决,不过那种解决方法都是暂时性的,当服务器重新启动的时候,编码问题又重现,还得再次手工配置,特别麻烦,最好的解决办法就是在my.ini文件里进行配置。在每次MySQL服务启动时,总要先查找my.ini文件,读取里面定义的默认参数,在使用数据库过程中,如果没有手工更改,便使用默认参数。
下面介绍mysql的5.5版本(与5.1版本有所区别)中my.ini文件的内容。 在mysql根目录里新建my.ini文件,用阅读器打开(我用的UltraEdit,建议不要在记事本里编辑然后把后缀名由.txt更改为.ini,因为根据mysql官方文档,这一文件要求为纯文本文件,而后缀名的随意改变容易造成不可预知的错误),加入如下内容: [mysqld]
character-set-server=gbk
#The TCP/IP Port the MySQL Server will listen on
port=3306
#set basedir to your installation path
basedir=D:/Mysql
#set datadir to the location of your data directory datadir=D:/Mysql/data
[mysql]
default-character-set=gbk
这里注意两点:
1、写目录是要使用符号“/”而不能使用“\”,如果要是用“\”的话需要换成“\\”。如basedir=D:\\Mysql。这是你mysql安装的根目录。
2、在之前提到,一加入my.ini文件就会使得MySQL服务打不开,出现1067错误,根源就在default-character-set的设置上。在5.5版本中,[mysql]里可以这么写,而[mysqld]里需要改成:character-set-server=gbk。
这样保存后,如果已经安装了MySQL服务,执行mysqld --remove卸载服务,然后执行mysqld --install MySQL --defaults-file=D:/Mysql/my.ini(注意空格和横线数量),服务就可以加载了,然后管理员权限下执行net start mysql便可开启MySQL服务,执行net stop mysql可停止服务。注意的是加载服务时候命令行目录要调到mysql安装目录的bin文件夹下,因为系统要把mysqld的路径写入注册表。
如果你将mysql目录下的bin文件夹加入了环境变量,并且启动了MySQL服务,执行mysql -u root命令(如果没密码的话)便可进入mysql的DOS操作窗口。
参考2 1.下载地址:
2.配置参数
1)解压缩绿色版软件到D:\Java\mysql-5.1.14-beta-win32。 2)修改D:\Java\mysql-5.1.14-beta-win32\my-small.ini文件内容,添加红色内容:
[client]
#password = your_password port = 3306
socket = /tmp/mysql.sock default-character-set=gbk
[mysqld]
port = 3306
socket = /tmp/mysql.sock default-character-set=gbk
skip-locking
key_buffer = 16K
max_allowed_packet = 1M table_cache = 4
sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 64K
3.安装MySQL5的服务,服务名自己定义为MySQL5 1)在DOS窗口下进入D:\Java\mysql-5.1.14-beta-win32\bin目录 开始——运行——cmd
2)执行安装MySQL服务名的命令:
D:\Java\mysql-5.1.14-beta-win32\bin> mysqld --install MySQL5
--defaults-file=D:\Java\mysql-5.1.14-beta-win32\my-small.ini
(请注意红色字体中的粗体部分,此为你mysql的路径,不要一味的粘贴。)
3)启动MySQL5服务:
D:\Java\mysql-5.1.14-beta-win32\bin>net start mysql5
4)登陆MySQL5服务器
D:\Java\mysql-5.1.14-beta-win32\bin>mysql -uroot -p
注意密码为空,直接按回车就可以了。
5)查看数据库:
mysql>show databases;
安装部分到此结束,此后为操作部分,转载自网上。
6)使用数据库
mysql> use test
Database changed
7)查看数据库中的表
sql> show tables;
Empty set (0.00 sec)
8)创建表ttt
mysql> create table ttt(a int,b varchar(20));
Query OK, 0 rows affected (0.00 sec)
9)插入三条数据
mysql> insert into ttt values(1,'aaa');
Query OK, 1 row affected (0.02 sec)
mysql> insert into ttt values(2,'bbb');
Query OK, 1 row affected (0.00 sec)
mysql> insert into ttt values(3,'ccc');
Query OK, 1 row affected (0.00 sec)
10)查询数据
mysql> select * from ttt;
+------+------+
| a | b | +------+------+
| 1 | aaa |
| 2 | bbb |
| 3 | ccc |
+------+------+
3 rows in set (0.00 sec)
11)删除数据
mysql> delete from ttt where a=3;
Query OK, 1 row affected (0.01 sec)
删除后查询操作结果:
mysql> select * from ttt;
+------+------+
| a | b | +------+------+
| 1 | aaa | | 2 | bbb |
+------+------+
2 rows in set (0.00 sec)
12)更新数据
mysql> update ttt set b = 'xxx' where a =2; Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
查看更新结果:
mysql> select * from ttt;+------+------+ | a | b | +------+------+
| 1 | aaa | | 2 | xxx | +------+------+
2 rows in set (0.00 sec)
13)删除表
mysql> drop table ttt;
Query OK, 0 rows affected (0.00 sec)
查看数据库中剩余的表:
mysql> show tables;
Empty set (0.00 sec)
3.更改MySQL5数据库root用户的密码
1)使用mysql数据库
mysql> use mysql
Database changed
2)查看mysql数据库中所有的表
mysql> show tables;
+---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 17 rows in set (0.00 sec)
3)删除mysql数据库中用户表的所有数据
mysql> delete from user;
Query OK, 3 rows affected (0.00 sec)
4)创建一个root用户,密码为“xiaohui”。
mysql> grant all on *.* to root@'%' identified by 'xiaohui' with grant option; Query OK, 0 rows affected (0.02 sec)
5)查看user表中的用户
mysql> select User from user;
+------+
| User |
+------+
| root |
+------+
1 row in set (0.00 sec)
6)重启MySQL5:更改了MySQL用户后,需要重启MySQL服务器才可以生效。 D:\mysql-5.0.67-win32\bin>net stop mysql5
MySQL5 服务正在停止..
MySQL5 服务已成功停止。
D:\mysql-5.0.67-win32\bin>net start mysql5
MySQL5 服务正在启动 .
MySQL5 服务已经启动成功。
7)重新登陆MySQL5服务器
D:\mysql-5.0.67-win32\bin>mysql -uroot -pxiaohui
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 Server version: 5.0.67-community MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
4.数据库的创建与删除
1)创建数据库testdb
mysql> create database testdb;
Query OK, 1 row affected (0.02 sec)
2)使用数据库testdb
mysql> use testdb;
Database changed
3)删除数据库testdb
mysql> drop database testdb;
Query OK, 0 rows affected (0.00 sec)
4)退出登陆
mysql> exit
Bye
5.操作数据库数据的一般步骤
1、启动MySQL服务器
2、登陆数据库服务器
3、使用某个要操作的数据库
4、操作该数据库中的表,可执行增删改查各种操作。 5、退出登陆。
6.mysql5的卸载
删除服务,执行mysqld --remove MySQL5 即可。