在windows下通过GUI来安装mysql,有了图形界面,安装就没啥需要配置的了。就像安装普通软件一样。只是有些选项需要用户自己来现则。
在windows非安装Zip文件安装MySQL
1、Zip压缩文件提取到安装目录下
2、创建选项(配置)文件,即my.ini或者my.cnf文件。Windows目录中的my.ini文件和C:\my.cnf 文件。一般为C:\windows\或者C:\winnt。MySQL首先从my.ini文件中寻找选项,然后从my.cnf文件中寻找。为了避免混淆,最好只使用一个文件。不管你使用哪个选项文件,必须为纯文本文件。
[mysqld]
#设置basedir指向mysql的安装路径
basedir=...\mysql
datadir=...\mysql\data
3、安装。mysqld --installMySQL--defaults-file="C:\mysql-5.1.34\my.ini(如果my.ini路径不是在默认位置的话,可以这样手动来指定)可以直接在--install选项后面指定服务名。默认服务名是MySQL。
4、3、启动与停止mysql
启动:net start mysql
停止:net stop mysql
在linux下安装mysql
通过RPM包来安装mysql
MySQL-server-VERSION.i386.rpm MySQL服务器。
MySQL-Max-VERSION.i386.rpm MySQL-Max服务器。该服务器具有其它功能,这是MySQL-server RPM不具备的。你必须首先安装MySQL-server RPM,因为MySQL-Max RPM依赖于它。
MySQL-client-VERSION.i386.rpm 标准MySQL客户端程序。
MySQL-bench-VERSION.i386.rpm 测试和基准。需要Perl和DBD::mysql模
块。
MySQL-devel-VERSION.i386.rpm 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要。
MySQL-shared-VERSION.i386.rpm 包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。 MySQL-shared-compat-VERSION.i386.rpm
该软件包包括MySQL 3.23和MySQL 4.0的共享库。如果你安装了应用程序动态连接MySQL 3.23,但是你想要升级到MySQL 4.0而不想打破库的从属关系,则安装该软件包而不要安装MySQL-shared。从MySQL 4.0.13起包含该安装软件包。
MySQL-embedded-VERSION.i386.rpm嵌入式MySQL服务器库(从MySQL 4.0起)。
MySQL-VERSION.src.rpm 包含以前所有软件包的源码
例子
1、 安装服务器
rpm-ivh MySQL-server-4.0.14-0.i386.rpm
安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf) ,拷贝一个示例配置文件作为mysql的配置文件:cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 。
rpm包安装完后自动将mysql安装成系统服务,所以可以使用下面命令启动、停止mysql
/etc/init.d/mysql start 或 service mysql start 。到此,mysql服务就安装配置完成。
2、安装mysql客户端
rpm-ivh MySQL-client-4.0.14-0.i386.rpm
mysql安装好后目录结构如下:
工具程序在/usr/bin目录中---ls/usr/bin/mysql*
服务器程序/usr/sbin/mysqld
数据目录/var/lib/mysql
默认情况下mysql将错误日志文件、二进制日志文件及进程文件写在/var/lib/mysql目录中,如localhost.err、localhost.pid、localhost-bin.001等 ,要改变这些情况可以修改/etc/my.cnf文件。如将日志文件写在/var/log目录中,可以在my.cnf文件中加入下面两行:
[mysqld_safe]
err-log = /var/log/mysqld.log
有个实用程序/usr/bin/mysql_install_db,该程序可以用来初始化mysql数据库,即创建/var/log/mysql目录,及创建mysql数据库(mysql授权表等信息)及test数据库(空库),如果不小心删除了/var/log/mysql目录可以通过该程序来初始化.
卸载mysql
rpm-ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0
卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
二进制文件方式安装
要配置环境变量,增加用户,组,然后mysql/scripts/mysql_install_db -–help
--basedir=path 安装目录
--datadir=path 数据文件目录
--force DNS不工作的情况下,也可以执行。只是授权标条目用IP地址,而不是之前的hostname
--ldata=path Thepath to the MySQL data directory. Same as --datadir.
--skip-name-resolve 在创建授权表的时候使用IP而不是hostname
源码方式安装
tarxvfz xxx
进入目录,./configure
Make
Makeinstall
—without-debug: 源码包的编译参数会默认以Debgu模式生成二进制代码,而Debug模式给MySQL带来的性能损失是比较大的,所以当我们编译准备安装的产品代码时,一定不要忘记使用“—without-debug”参数禁用Debug模式。
而如果把—with-mysqld-ldflags和—with-client-ldflags二个编译参数设置为—all-static的话,可以告诉编译器以静态方式编译,使编译结果代码得到最高的性能。使用静态编译和动态方式编译的代码相比,性能差距可能会达到5%到10%之多。
--enable-static:生成静态链接库
--enable-shared:生成动态链接库
--enable-assembler选项的功能是使用一些字符函数的汇编版本。那么它提升效率的原理也就不难理解了:汇编语言面向机器,直接使用CPU指令进行操作,代码简短且占用内存少。对于字符处理较多的业务能带来显著的性能提升。
–with-unix-socket-path
–with-charset=all
—without-innodb
—with-tcp-port
—prefix
—with-mysqld-user”:指定运行mysqld的os用户,默认为mysql
下面是其它的一些参数的解释
--prefix=PREFIX:指定程序安装路径;
--enable-assembler:使用汇编模式;
--enable-local-infile:启用对LOAD DATA LOCAL INFILE语法的支持(默认不支持);
--enable-profiling:
Build a version with query profiling code (req.community-features)
--enable-thread-safe-client:使用编译客户端;
--with-big-tables:启用32位平台对4G大表的支持;
--with-charset=CHARSET:指定字符集;
--with-collation=:默认collation;
--with-extra-charsets=CHARSET,CHARSET,...:指定附加的字符集;
--with-fast-mutexes:Compile with fast mutexes
--with-readline:
--with-ssl:启用SSL的支持;
--with-server-suffix=:添加字符串到版本信息;
--with-embedded-server:编译embedded-server;
--with-pthread:强制使用pthread类库;
--with-mysqld-user=:指定mysqld守护进程的用户;
--with-mysqld-ldflags=:静态编译MySQL服务器端;
--with-client-ldflags=:静态编译MySQL客户端;
--with-plugins=PLUGIN,PLUGIN,...:MySQL服务器端支持的组件(默认为空),可选值较多:
partition:MySQL Partitioning Support;
daemon_example:This is an example plugin daemon;
ftexample:Simple full-text parser plugin;
archive:Archive Storage Engine;
blackhole:Basic Write-only Read-never tables;
csv:Stores tables in text CSV format,强制安装;
example:Example for Storage Engines for developers;
federated:Connects to tables on remote MySQL servers;
heap:Volatile memory based tables,强制安装;
ibmdb2i:IBM DB2 for i Storage Engine;
innobase:Transactional Tables using InnoDB;
innodb_plugin:Transactional Tables using InnoDB;
myisam:Traditional non-transactional MySQL tables,强制安装;
myisammrg:Merge multiple MySQL tables into one,强制安装;
ndbcluster:High Availability Clustered tables;
--with-plugin-PLUGIN:强制指定的插件链接至MySQL服务器;
--with-zlib-dir=:向MySQL提供一个自定义的压缩类库地址;
--without-server:仅安装MySQL客户端;
--without-query-cache:不要编译查询缓存;
--without-geometry:不要编译geometry-related部分;
--without-debug:编译为产品版,放弃debugging代码;
--without-ndb-debug:禁用special ndb debug特性;
configure仅仅是做编译相关的准备工作,它主要对您当前的工作平台做一些依赖性检查,比如编译器是否安装,连接器是否存在,如果在检测的过程没有任何错误,你很幸运,configure脚本会在当前目录下生成下一步编译链接所要用到的另一个文件Makefile,当然configure支持及其丰富的命令行参数,可以键入"./configre--help"获取具体的信息
make:
如果configure过程正确完成,那么在源码目录,会生成相应的Makefile文件,Makefile文件简单来说包括的是一组文件依赖关系以及编译链接的相关步骤,事实上真正的编译链接工作也不是make所做的,make只是一个通用的工具,一般情况下,make会根据Makefile中的规则调用合适的编译器编译所有与当前软件相依赖的源码,生成所有相关的目标文件,最后再使用链接器生成最终的可执行程序:
makeinstall:
当上面两个步骤正确完成,代表着编译链接过程已经完全结束,最后要做的就是将可执行程序安装到正确的位置,在这个步骤,普通用户可能没有相关目录的操作权限。如果在configure阶段没有使用"--prefix=/opt/XXX"指定应用程序的安装目录,那么应用程序一般会被默认安装到/usr/local/bin,如果/usr/local/bin已经存在于您的PATH中,那么安装已经基本结束