MySQL编译安装环境介绍:
系统环境:RedHat6.3_x64
mysql 版本:5.6.19
一、配置好yum源。
最简单的方法就是,拷贝镜像文件里面的两个目录到系统的一个目录下。
例如我的,我把Packages和repodata拷贝/media/pak下
[root@www pak]# ls
Packages repodata
修改yum的配置文件,系统默认有一个以repos为后缀的文件,你可以rm 掉,也可以mv 改名。或者继续使用默认的名称,都可以。
但是有一点,就是保证yum.repos.d目录下只有一个以repos后缀结尾的文件。
[root@www pak]# cat /etc/yum.repos.d/yum.repos
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///media/pak
enabled=1
gpgcheck=0
解释:
baseurl(基础路径)=file:///media/pak
enabled=1 (是否开yum库)
gpgcheck=0 不检测 K检测
二、安装依赖包。
1、配置好了yum源,安装yum工具。
yum list;
2、安装依赖包:
yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
三、添加用户&组。
groupadd mysql
useradd -r -g mysql mysql
四、安装MySQL。
1、安装cmake工具。
在安装MySQL前先要确定Linux系统是否已经安装了cmake工具。据我了解的,大部分的没有,尤其是6.0以后的各种Linux系统。
这几简单的介绍如何安装cmake工具。
a、先下载好cmake ,建议选择新版本。很多人在选择下载包的时候,不知道选择新版本还是旧版本。我建议选择新版本,至少功能齐全,兼容性更好。
b、解压cmake包
c、cd进入解压后的cmake目录。
d、执行./configure -----cmake只是一个工具,这里不加参数,即:安装到系统默认的位置,你也不用考过他会安装到哪里。
e、make && make install ---几分钟就安装好了
2、安装MySQL
a、解压MySQL安装包
[root@www soft]# tar -zxvf mysql-5.6.19.tar.gn
[root@www mysql-5.6.19]#cmake \
-DCMAKE_INSTALL_PREFIX=/u01/mysql \
-DMYSQL_DATADIR=/u01/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1
参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql ----- 安装目录 这是MySQL的默认安装位置,而我选择的是/u01/mysql ,我觉得这样管理方便,清晰
-DINSTALL_DATADIR=/usr/local/mysql/data ----- 数据库存放目录
-DDEFAULT_CHARSET=utf8 ----- 使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci ----- 校验字符
-DEXTRA_CHARSETS=all ----- 安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 ----- 允许从本地导入数据
[root@www mysql-5.6.19]# make ----- 这个阶段,时间比较长
[root@www mysql-5.6.19]# make install
五、MySQL初始配置
(1)设置目录权限
[root@www~]# cd /u01/mysql
[root@www mysql]# chown -R root:mysql . ---- 把当前目录中所有文件的所有者所有者设为root,所属组为mysql
[root@www mysql]# chown -R mysql:mysql data
(2)设置MySQL服务:
[root@www mysql]# cp support-files/my-medium.cnf /etc/my.cnf ---- 将mysql的启动服务添加到系统服务中
(3)创建系统数据库的表:
[root@www mysql]# cd /u01/mysql
[root@www mysql]# scripts/mysql_install_db --user=mysql --basedir=/u01/mysql --datadir=/u01/mysql/data ----- 这个是必须的,这是初始化数据库,否则会提示很多警告和错误
(4)设置环境变量:
[root@www~]# vi /root/.bash_profile ----- 在PATH=$PATH:$HOME/bin添加参数为:
PATH=$PATH:$HOME/bin:/u01/mysql/bin:/u01/mysql/lib
[root@www~]#source /root/.bash_profile ----- 使用环境变量生效
(5)手动启动mysql:
[root@www~]# cd /u01/mysql
[root@www mysql]# ./bin/mysqld_safe --user=mysql ----- 启动MySQL,但不能停止
启动日志写在此文件下:/u01/mysql/data/www.err (这里记录了mysql所有启动时提示的各种信息,包括错误信息)
关闭MySQL服务
[root@www mysql]# mysqladmin -u root -p shutdown ----- 这里MySQL的root用户还没有配置密码,所以为空值需要输入密码时,直接点回车键即可。
(6)另一种简单的启动mysql的方法(mysql已经被添加到系统服务中):
[root@www~]# service mysql.server start
[root@www~]# service mysql.server stop
[root@www~]# service mysql.server restart
如果上述命令出现:mysql.server 未识别的服务
则可能mysql还没添加到系统服务中,下面用另一种方法添加:
[root@www mysql]# cp support-files/mysql.server /etc/init.d/mysql ------ 将mysql的启动服务添加到系统服务中
注意:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。在有的系统中,mysql.server在/u01/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/u01/mysql/support-files/mysql.server中。
然后再用#service mysql start 来启动mysql即可。
或者
[root@www mysql]# /etc/init.d/mysql start
[root@www mysql]# /etc/init.d/mysql stop
[root@www mysql]# /etc/init.d/mysql restart
(7)修改MySQL的root用户的密码以及打开远程连接:
[root@www~]# mysql -u root mysql
mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "xxxxxx"; ----- 为root添加远程连接的能力。
mysql> update user set Password = password('xxxxxx') where User='root';
mysql> select Host,User,Password from user where User='root';
mysql> flush privileges;
mysql> exit
重新登录:mysql -u root -p
若还不能进行远程连接,则关闭防火墙
[root@www~]# /etc/rc.d/init.d/iptables stop
现在可以登录上,建表等等。