MySql源码安装

来源:互联网 发布:力士乐plc编程软件 编辑:程序博客网 时间:2024/05/16 14:11
现在罗列的其中的快速安装步骤:

     shell> groupadd mysql
     shell> useradd -g mysql mysql
     shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
     shell> cd mysql-VERSION
     shell> ./configure --prefix=/usr/local/mysql
     shell> make
     shell> make install
     shell> cp support-files/my-medium.cnf /etc/my.cnf
     shell> cd /usr/local/mysql
     shell> bin/mysql_install_db --user=mysql
     shell> chown -R root  .
     shell> chown -R mysql var
     shell> chgrp -R mysql .
     shell> bin/mysqld_safe --user=mysql &

shell的解释:

shell>


这是描述在Linux的shell环境下进行操作,如使用SSH或者TELNET登录到Linux时,看到:

[root@guigu home]#


现在让我们详细了解,他在做什么~

shell> groupadd mysql
shell> useradd -g mysql mysql


groupadd和useradd是Linux下创建用户组和用户的命令,上边的命令使我们分别创建了mysql组和用户

shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -


gunzip是Linux下解压缩的命令,同等功能的命令如:tar,可根据个人喜好任意使用,参考命令:
  1. tar -zvxf mysql-4.1.18.tar.gz
复制代码
shell> cd mysql-VERSION


因为INSTALL-SOURCE文档,会在不同版本的文件包中出现,这里提示进入当前版本的文件夹,参考:
  1. cd mysql-4.1.18
复制代码
下面我们将进入编译前的配置

shell> ./configure --prefix=/usr/local/mysql


./configure是Linux环境在自己编译前,所必需的环节,除极个别的程序,也会在安装文档中作出提示,但很少见。

如上命令将指定我们新安装得MySQL将被安装在/usr/local/mysql文件夹下。

提示1:在安装前,请检查/usr/local文件夹下是否已经存在mysql文件夹。

提示2:关于改变默认字符集就是在此进行指定,如果你的程序需要使用UTF8,或者GB2312,应该如下使用:

./configure --prefix=/usr/local/mysql --with-charset=gb2312


提示1:其中的gb2312可以替换为gbk或者utf8

提示2:如果我们在现有基础上还需要其他的字符集,就应该增加扩展字符集,参考如下:

./configure --prefix=/usr/local/mysql --with-charset=gb2312 --with-extra-charsets=gbk,utf8


注:这样的配置的结果为:默认字符集为gb2312但同时支持gbk和utf8。

使用方式:gbk和utf8编码的使用,需要在创建数据库时选择字符集,并在程序中加入如:SET NAMES GBK

创建数据库选择字符集请参考--玩转phpMyAdmin(二)-操作实战

http://bbs.mysql.cn/thread-420-1-1.html

shell> make


make既:编译,需要一定的时间才可完成,取决于你所使用计算机的运行速度。一般的状况为10~30分钟不等。

提示:如果你的Linux安装的相对完整,编译一般会正常运行,无需担心。

影响编译的相关软件为gcc编译器等,但作为现有的Linux发行版本中此问已经极少出现。

shell> make install


完成编译工作,并将编译的结果正确的拷贝到相应的位置。

shell> cp support-files/my-medium.cnf /etc/my.cnf


这个命令是将mysql-4.1.18源码文件夹中support-files中的my-medium.cnf文件拷贝到/etc文件夹下,并重命名为my.cnf

提示:在support-files中提供了不同环境中所需要使用的配置文件,如:

my-small.cnf  /* 如果系统的内存小于64兆,需要选择此文件
my-medium.cnf  /* 如果系统的内存大于128兆,可以选择此文件
my-large.cnf  /* 如果系统的内存为512兆,需要选择此文件
my-huge.cnf /* 如果系统的内存是1G~2G,需要选择此文件
my-innodb-heavy-4G.cnf /* 如果系统的内存为4G内存-事务,可以选择此文件

注:如上的文件其中一个选项必须需要关注,如下:

# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 2


其中的thread_concurrency的值为你的计算机所使用CPU的数量x2

shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql


进入刚刚安装好的mysql目录,并执行bin文件夹下mysql_install_db --user=mysql

初始化MySQL数据库

shell> chown -R root  .
shell> chown -R mysql var
shell> chgrp -R mysql .


使用chown和chgrp命令进行mysql文件夹及子文件--属性的设定,范例:

chown mysql xxx

xxx文件夹只能root用户读取

chgrp mysql xxx


xxx文件夹只能mysql组用户读取

注:-R包含子文件夹及文件。

shell> bin/mysqld_safe --user=mysql &


启动MySQL数据库,并由mysql用户身份运行。

关于数据库的安全停止:

人不知道该如何停止数据库--就用kill杀,实际上是错误的,只是很少人注意,且网上没有相关的资料罢了:

1.使用mysqladmin

mysqladmin -u root -p shutdown


2.在support-files文件夹中有一个文件mysql.server,我们使用如下命令进行设置:
  1. chmod +x mysql.server
复制代码
然后再把它拷贝到需要放置的文件夹即可使用,如:cp mysql.server /etc/init.d

调用:
  1. /etc/init.d/mysql.server stop
复制代码
如上,在Linux环境下自己编译MySQL初步完成了,应该如何正确的应用去参考孵化池内--玩转phpMyAdmin系列。


http://bbs.mysql.cn/thread-708-1-1.html

原创粉丝点击