最近在做项目开发时用到了MySQL数据库,在看了一些有关MySql的文章后,很快就上手使用了。在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySql所以在配置的时候出现了一些问题,该篇文章就主要针对MySql绿色版的配置及其使用进行讨论。
MySql数据库是有瑞典MySql AB公司开发,现在该公司被Oracle收购属于Oracle所有。同SQL Server类似,它也是基于关系型数据库的数据库管理系统,在Web应用方面MySQL是最好的RDBMS之一,因为它属于轻量级的RDBMS。
既然MySql采用的是SQL为基础,那么他就包含基本的DML、DDL、DAL,这些基本的数据库语言是很容易上手使用的,另外MySql还封装了很多数据库操作命令,这些命令是在dos系统中运行的,这是他和SQL Server的不同之处,MySql的环境是简历在dos系统之上的,要使用dos命令。它和java有点类似,可以说它也是建立在虚拟机之上的,可以实现一次建立到处使用。想要方便的使用MySql命令还需要一些前提进行设置,设置方法类似于Java的环境变量,下面的方法以免安装版本的MySql为例演示它的配置方法。
将MySql的解压路径配置到系统变量中就可以在任何地方使用MySql命令。
Note:这是配置的系统变量,任何使用控制台命令的第三方命令都可以添加到系统变量中,系统变量是一个纽带作用,在使用命令时会优先搜索系统变量。
C:Program Files (x86)ScanSign;E:appzhongzhproduct11.2.0dbhome_1in;D:appzhongzhproduct11.2.0client_1in;C:Program Files (x86)InteliCLS Client;C:Program FilesInteliCLS Client;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsDAL;C:Program FilesIntelIntel(R) Management Engine ComponentsDAL;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsIPT;C:Program FilesIntelIntel(R) Management Engine ComponentsIPT;c:Program Files (x86)HPHP Performance Advisor;%USERPROFILE%.dnxin;C:Program FilesMicrosoft DNXDnvm;C:Program FilesMicrosoft SQL Server130ToolsBinn;C:Program Files (x86)Windows Kits8.1Windows Performance Toolkit;C:TDM-GCC-64in;C:PROGRAM FILESCOMMON FILESFAST;C:PROGRAM FILESCOMMON FILESFASTCAD;%JAVA_HOME%in;%JAVA_HOME%jrein;C:Program Files (x86)Microsoft SQL Server80ToolsBinn;C:Program FilesMicrosoft SQL Server90DTSBinn;C:Program FilesMicrosoft SQL Server90Toolsinn;C:Program Files (x86)Microsoft SQL Server90Toolsinn;C:Program Files (x86)Microsoft SQL Server90DTSBinn;C:Program Files (x86)Microsoft SQL Server90ToolsBinnVSShellCommon7IDE;C:Program Files (x86)Microsoft Visual Studio 8Common7IDEPrivateAssemblies;C:PROGRAM FILES (X86)COMMON FILESFAST;C:PROGRAM FILES (X86)COMMON FILESFASTCAD;%JAVA_HOME%in;%JAVA_HOME%jrein;%CXF_HOME%in;%CATALINA_HOME%lib;%CATALINA_HOME%in;%ANT_HOME%in;D:Program FilesVisualSVN Serverin;C:Program FilesTortoiseSVNin;E:迅雷下载mysql-5.6.24-win32.1432006610mysql-5.6.24-win32in
把中文路径改为英文路径
C:Program Files (x86)ScanSign;E:appzhongzhproduct11.2.0dbhome_1in;D:appzhongzhproduct11.2.0client_1in;C:Program Files (x86)InteliCLS Client;C:Program FilesInteliCLS Client;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsDAL;C:Program FilesIntelIntel(R) Management Engine ComponentsDAL;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsIPT;C:Program FilesIntelIntel(R) Management Engine ComponentsIPT;c:Program Files (x86)HPHP Performance Advisor;%USERPROFILE%.dnxin;C:Program FilesMicrosoft DNXDnvm;C:Program FilesMicrosoft SQL Server130ToolsBinn;C:Program Files (x86)Windows Kits8.1Windows Performance Toolkit;C:TDM-GCC-64in;C:PROGRAM FILESCOMMON FILESFAST;C:PROGRAM FILESCOMMON FILESFASTCAD;%JAVA_HOME%in;%JAVA_HOME%jrein;C:Program Files (x86)Microsoft SQL Server80ToolsBinn;C:Program FilesMicrosoft SQL Server90DTSBinn;C:Program FilesMicrosoft SQL Server90Toolsinn;C:Program Files (x86)Microsoft SQL Server90Toolsinn;C:Program Files (x86)Microsoft SQL Server90DTSBinn;C:Program Files (x86)Microsoft SQL Server90ToolsBinnVSShellCommon7IDE;C:Program Files (x86)Microsoft Visual Studio 8Common7IDEPrivateAssemblies;C:PROGRAM FILES (X86)COMMON FILESFAST;C:PROGRAM FILES (X86)COMMON FILESFASTCAD;%JAVA_HOME%in;%JAVA_HOME%jrein;%CXF_HOME%in;%CATALINA_HOME%lib;%CATALINA_HOME%in;%ANT_HOME%in;D:Program FilesVisualSVN Serverin;C:Program FilesTortoiseSVNin;E:mysql-5.6.24-win32.1432006610mysql-5.6.24-win32in
在配置了系统的环境变量后就可以使用MySql的bin下提供的所有服务了,接下来还需要在系统中安装MySQL。
打开解压文件目录,找到后缀名为.ini的文件,复制一份更名为my.ini,使用下面的内容替换原有的内容。
- [mysqld]
- basedir=D:/Program Files (x86)/MySql # 设置mysql的安装目录
- datadir=D:/Program Files (x86)/MySql/data # 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx/data
-
- *************************分割线*******************
- port = 3306
- socket = /tmp/mysql.sock
- default-character-set=gbk # 设置mysql服务器的字符集
- 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
-
- [client]
- #password = your_password
- port = 3306
- socket = /tmp/mysql.sock
- default-character-set=gbk
- *************************分割线*******************
Note:[mysqld]下面的basedir和datadir需要设置为文件解压后的路径,在此处笔者将文件放到了D:Program Files (x86)MySql下。另外上面的分割线内的内容是可选的,可以在建立数据库的时候重新设置,建议在创建时不要添加,因为会有很多不确定因素。
my.ini文件配置好后就可以在cmd中安装mysqld服务了,在cmd中运行命令:mysqld --install MySQL --defaults-file="D:Program Files(x86)MySqlmy.ini",其中的MySQL是安装服务器的名称,可以指定任何名称。安装完成后会提示下面的信息:Service successfully installed,即表示成功安装,安装成功后会在系统的服务组策中添加该服务,在使用时只需要开启即可。
Note:在运行安装命令时一定要注意必须cmd内的路径问题,该路径必须在mysql的bin所在的路径,比如我的mysql解压到D:Program Files(x86)MySql文件夹中,那么cmd当前路径就必须为D:Program Files(x86)MySqlin,否则在安装完成后启动服务时会出现发生错误提示:系统错误 2。系统找不到指定的文件。
启动MySQL服务器,在cmd中运行命令:net start MySQL。
在使用完成后可以通过命令来停止服务器的运行,通过在cmd中运行命令:net stop MySQL,
刚安装的服务器它的默认名称为root,此时没有密码,可以通过cmd命令来设置名称和密码。相应的命令为:mysql -u root。另外可通过在cmd中使用update语句来修改root的密码,具体设置方法如下代码所示:
首先在DOS下进入目录mysqlin,然后键入以下命令:
mysqladmin -u root -p password ab12 。
Note:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、再将root的密码改为djg345:mysqladmin -u root -p ab12 password djg345
2.5 删除服务:mysqld --remove MySQL
使用remove命令,后面跟上要删除的数据库服务的名称。
这里介绍两种连接方法分别为本地连接和远程连接。
在cmd中输入并运行命令:mysql -u root -p,然后输入相应的密码。需要注意的是用户名-u和用户名之间也可以没有空格,即-uroot同样正确,但是密码和-p之间必须要有空格。如果是刚安装好的MYSQL,默认的root用户名是没有密码的,直接输入mysql -u root就可以进入MYSQL中了,MYSQL的提示符为:mysql>。
假设远程主机的IP地址为:219.243.79.8,用户名为root,密码为123,则在cmd中运行如下命令:mysql -h219.243.79.8 -uroot -p 123。
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。
增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;
show命令是查看的意思,可以用来查看MySql中的一些列表信息,如:show databases显示所有数据库的名称;show tables显示一个数据库中的所有表名称。
操作前要进入相关的数据库,可以使用use命令,如:use testdb进入名为testdb的数据库,进入数据库后既可以对数据库中的对象操作,相应的操作命令使用的是SQL语句,DDL、DML、DAL。
1、查看数据库某个表的字段信息:desc 表名;
2、查看数据库表的创建语句:show create table 表名;当然使用同样的方法也可以查看其它创建内容的SQL语句,如查看数据库的创建语句,show create database 数据库名。
3.4.2 修改表中列类型及名称
(1)只修改列类型
alter table 数据库名.表名 modify column 列名 数据类型,例如:将t_animal表的sex列该为boolean类型:
- alter table t_animal modify sex boolean not null
(2)同时修改列名和列数据类型
alter table 表名 change column 旧列名 新列名 数据类型,例如:将t_animal表的sex列更名为ani_sex,数据类型修改为boolean类型:
- alter table t_animal change column sex ani_sex boolean not null
结语
本文对MySql的配置及使用方法做了初步的总结,MySql还有很多内容在使用中慢慢积累,并且该文章也会不定时的添加新内容,主要是针对开发过程中的情况而更新。文章的命令笔者都进行了测试,有哪些不对的地方还请指出互相学习。