MYSQL的安装分三种:命令行安装、二进制安装和源码安装
命令行安装相对而言简单,我们就不做过多陈述,今天就着重讲讲MYSQL的源码安装
编译安装过程描述:
-
1.下载源代码
-
2.检查源码编译所需的依赖包是否齐全
-
3.解压编译
-
4.make && make install
-
5.初始化数据目录
-
6.数据库权限设置
-
7.定义启动方式
软件安装的常规设置:
-
软件安装包放在/usr/local/src下
-
软件根目录在/usr/local/xxx下,如:/usr/local/mysql
-
配置文件在/etc/下,如:/etc/my.cnf
========
编译目录 /usr/local/mysqlrp
========
[root@xxx ~]# mkdir /data/mysql
[root@xxx ~]# mkdir /usr/local/mysqlrp
[root@xxx ~]# cd /usr/local/src/
[root@xxx src]# mv /root/mysql-5.6.24.tar.gz .
[root@xxx src]# tar -zxvf mysql-5.6.24.tar.gz
[root@xxx src]# cd mysql-5.6.24
[root@xxx mysql-5.6.24]# which cmake
/usr/bin/cmake
[root@xxx mysql-5.6.24]# yum install ncurses-devel
[root@xxx mysql-5.6.24]# yum install bison
#=======
#编译
#=======
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysqlrp \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@xxx mysql-5.6.24]# ls /usr/local/mysqlrp/
[root@xxx mysql-5.6.24]#
[root@xxx mysql-5.6.24]# ls /data/mysql/
[root@xxx mysql-5.6.24]#
[root@xxx mysql-5.6.24]# make
[root@xxx mysql-5.6.24]# ls /usr/local/mysqlrp/
[root@xxx mysql-5.6.24]# ls /data/mysql/
[root@xxx mysql-5.6.24]#
#=======
#make install时才会在根目录下生成文件
#=======
[root@xxx mysql-5.6.24]# make install
[root@xxx mysql-5.6.24]# ls /usr/local/mysqlrp/
bin data include lib mysql-test scripts sql-bench
COPYING docs INSTALL-BINARY man README share support-files
[root@xxx mysql-5.6.24]# ls /data/mysql/
[root@xxx mysql-5.6.24]#
[root@xxx mysql-5.6.24]# cd /usr/local/mysqlrp/
[root@xxx mysqlrp]# groupadd mysql
[root@xxx mysqlrp]# useradd mysql -g mysql
[root@xxx mysqlrp]# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysqlrp/data/ &
[root@xxx mysqlrp]# cp support-files/mysql.server /etc/init.d/mysqld
[root@xxx local]# vi /etc/my.cnf
datadir=xxxx
[root@xxx local]# service mysqld start
Starting MySQL.
[ OK ]
#=======
#源码编译常见依赖包
#=======
kernel-headers-2.6.32-358.el6.x86_64.rpm
glibc-headers-2.12-1.107.el6.x86_64.rpm
glibc-devel-2.12-1.107.el6.x86_64.rpm
cpp-4.4.7-3.el6.x86_64.rpm
gcc-4.4.7-3.el6.x86_64.rpm
libstdc++-devel-4.4.7-3.el6.x86_64.rpm
gcc-c++-4.4.7-3.el6.x86_64.rpm
autoconf-2.63-5.1.el6.noarch.rpm
automake-1.11.1-4.el6.noarch.rpm
zlib-1.2.3-29.el6.x86_64.rpm
ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
libgcrypt-1.4.5-9.el6_2.2.x86_64.rpm
libtool-2.2.6-15.5.el6.x86_64.rpm
bison-2.4.1-5.el6.x86_64.rpm
#=======
#附实验2则,解释常见疑问
#实验1说明,数据目录初始化的时候,必须在根目录下指定初始化目录,使用初始化脚本进行初始化,才是成功有效的。
#实验2说明,数据库在编译的时候会修改源码里面的内容,例如src/mysql-5.6.24/support-files/mysql.server ,会将根目录修改为编译时指定的根目录
# 数据库编译时指定数据目录,安装完成后mysql工具没有指定数据目录且根目录下没有data目录会优先将编译时指定的数据目录作为自己的数据目录
#=======
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30536723/viewspace-1837453/
,如需转载,请注明出处,否则将追究法律责任。