Linux下编译安装
安装环境: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也就不足为难了
grant all on *.* to root@'%' identified by 'your_password';