您的位置:首页 > 运维架构 > Linux

Linux下编译安装mysql-5.0.45.tar.gz

2016-07-26 13:31 417 查看
安装环境:VMware9(桥接模式) + Linux bogon 2.6.32-642.3.1.el6.x86_64(查看linux版本信息:uname -a)

先给出MySQL For Linux 源码下载地址,是xx.tar.zg格式的,如下: http://www.filewatcher.com/m/mysql-5.0.45.tar.gz.24433261.0.0.html
一、源码包安装mysql。

-------------预备工作----------

1:假如下载的文件名为:mysql-5.0.45.tar.gz

2:copy到 /usr/local/software下(软件包统一放置到该目录下)

3:groupadd mysql #添加mysql组

4:useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统

mkdir -p /usr/local/mysql #创建MySQL安装目录

mkdir -p /usr/local/mysql/var #创建MySQL数据库存放目录

chown -R mysql:mysql /usr/local/mysql/var #设置MySQL数据库目录权限

chown -R mysql:mysql /usr/local/mysql #设置MySQL数据库目录权限

5:cd /usr/local/software #进入到该目录

-----------------------编译过程-----------------------

6:tar -zxvf mysql-5.0.45.tar.gz #解压后,在该目录下会出现一个同名的文件夹

7:cd /usr/local/software/mysql-5.0.45

8:./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=latin1

注意(参数讲解):

--prefix=/usr/local/mysql ==> 指定mysql的安装目录。

--with-charset=utf8 ==> 指定mysql的默认字符集

--with-collation=utf8_general_ci ==> 指定mysql的默认字符集

--with-extra-charsets=latin1 ==> 添加额外的编码,为了省事,一般就写all了

9:make

10:make install

11:cp support-files/my-medium.cnf /etc/my.cnf #拷贝配置文件。如果/etc/my.cnf已存在,则先备份,再删除

12:vi /etc/my.cnf #将log-bin=mysql-bin注释掉(关闭binlog日志)

----------------------------安装并初步配置mysql--------------------------

13:cd /usr/local/mysql

14:bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/var #安装系统数据库

15:bin/mysqld_safe --user=mysql & #启动mysql服务

-----------------------------------------更改mysql的root用户密码----------------------------

16:bin/mysqladmin -uroot password 123456 #在mysql正常启动的情况下,更改root用户的登录密码

17:bin/mysql -uroot -p #输入此命令后,会提示你输入root用户密码123456

18:show databases; #如果查出所有数据库,说明mysql数据库已经成功安装。

------------------------------------------------------把mysql加入到系统服务中(开机自启动)-------------------------------------

19:cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld #加入到系统服务中,就可以通过service mysqld start|stop|status|restart等进行管理,很是方便,就不用再到/usr/local/mysql5.0.45/bin/启动mysql了。

注意: mysql.server ==>该脚本主要用于使用系统V-style运行目录的系统的启动和关闭,它通常安装到mysql下。mysql.server脚 本调用mysqld_safe来启动服务器。

------------------------------------------------------------------配置 mysql环境变量------------------------------------------------

20:cd /root #回到你的个人主目录,我这里是用root登陆的

cp .bashrc .bashrc.bak #备份一下吧

vi .bashrc

在最后加入:export PATH=/usr/local/mysql/bin:$PATH:.

source ~/.bashrc #回到终端再输入此命令,以使刚修改的起作用,~代表用户主目录 source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令。

注:该命令通常用命令“.”来替代。 如:source .bash_rc 与 . .bash_rc 是等效的。 注意:source命令与shell scripts的区别是, source 在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或 alias等等)的命令写进 scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量 时,要用source 命令。

env #查看一下是否生效(显示系统中已存在的环境变量)

21:此是用来替换20步的一种方法

cp /usr/local/mysql/bin/mysql /usr/bin/mysql #把mysql常用的工具目录加入到系统变量目录中去,自己选择性加,这样做主要是可以直接运行该工具,而不需要切换到该 目录下,类似于添加环境变量了。

------------------------------------------------------------------------------- 让Linux开放3306端口-------------------------------------------

22:service iptables stop #关闭防火墙

vi /etc/sysconfig/iptables #编辑防火墙配置

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

service iptables start #开启防火墙

------------------------------------------------------------------------------- 给root用户开启mysql远程访问权限--------------------------------------------

23:shutdown -hr now #重启虚拟机。

ps -ef | grep mysql #查看mysql是否已随开机启动,或者输入:service mysqld status。

mysql -uroot -p #进入mysql,并输入密码。

grant all on *.* to root@'%' identified by '123456'; #grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

flush privileges; #为了开发方便,可以让root用户具有远程访问的权限(%就是允许远程登录的意思)

#最后,再附上一个很好用的mysql客户端,http://download.csdn.net/source/924456

二、默认的mysql数据库目录是 /usr/local/mysql/var

我们在安装时指定了安装目录为/usr/local/mysql,除了在这里安装所要的文件外,还有一部分用户常用的,可执行二进制文件被放到了/usr/bin中,其实,在/usr/local/mysql/bin下,全都有这些命令了,之所以要在/usr/bin中把那几个命令考过来,就是为了方便,相当于设置环境变量了,你可以echo $PATH一下,里面一定有/usr/bin这个值的。 明白了安装过程,删除mysql也就不足为难了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: