一、MySQL各类安装方法的比较

在Linux系统下,MySQL有3种主要的安装方式,分别是:RPM安装、二进制安装、源码安装。三种安装方式的优缺点如下表所示:

 

RPM安装

二进制安装

源码安装

优点

安装简单,适合初学者

安装简单,可以安装到任何路径下

可以根据使用需要定制编译,灵活,性能最好

缺点

需要单独下载服务端和客户端,安装路径不够灵活,默认路径不能修改

已经经过编译,性能不如源码安装的好,无法灵活定制编译参数

安装过程复杂,编译时间长

文件布局

  • /usr/bin(客户端程序和脚本)
  • /usr/sbin(mysqld服务器)
  • /var/lib/mysql(日志文件和数据库)
  • /usr/include/mysql(头文件)
  • /usr/lib/mysql(库文件)
  • /usr/share/mysql(错误消息和字符集文件)
  • bin(mysqld服务器和客户端程序)
  • data(日志文件和数据库)
  • include(头文件)
  • lib(库文件)
  • scripts(mysql_install_db脚本)
  • share/mysql(错误消息)

 

二、RPM安装过程说明

访问http://dev.mysql.com/downloads/mysql/5.6.html#downloads,选择下载对应版本和位数的rpm安装包,如下图所示:

mysql的rpm怎么安装 mysql rpm安装顺序_mysql的rpm怎么安装

运行如下命令即可完成安装。



rpm -ivh MySQL-devel-5.6.31-1.el6.x86_64.rpm



三、二进制安装过程说明

(1)、增加mysql用户和用户组



groupadd mysql
useradd -g mysql mysql



(2)、解压二进制安装包,放到指定的目录下。

(3)、初始化数据库,创建数据库的基础表。



./mysql_install_db --user=mysql



(4)、根据实际需要,设置相应目录权限。

四、源码安装过程说明

(1)、下载,解压源码包。

mysql的rpm怎么安装 mysql rpm安装顺序_shell_02

 

(2)、安装必要的软件包。



1.cmake
2.ncurses-devel

yum install cmake ncurses-devel -y



(3)、创建用户和组



groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql



(4)、编译参数及安装



cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.28 \
-DMYSQL_DATADIR=/usr/local/mysql-5.6.28/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.28/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=uft8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0

make && make install



(5)、生成链接目录



ln -s /usr/local/mysql-5.6.28 /usr/local/mysql



(6)、添加环境变量



echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile



(7)、修改目录权限



chown -R mysql.mysql /usr/local/mysql-5.6.28



(8)、初始化数据库,生成基础表



/usr/local/mysql/scripts
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql



(9)、配置MySQL启动文件



cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld



 

五、MySQL的启动与关闭

(1)、对于使用RPM安装的,可以使用系统服务来启动与关闭MySQL。



service mysqld start  #启动mysql
service mysqld stop   #关闭mysql



(2)、对于二进制和源码安装,可以从安装目录中找出mysql的启动文件(参考编译安装过程第9步,当然,你也可以自己编写一个),然后拷贝到/etc/init.d/mysqld,用来来启动和关闭MySQL,也可以用chkconfig命令将其加入系统服务中。



/etc/init.d/mysqld start     #启动mysql
/etc/init.d/mysqld stop      #关闭mysql
/etc/init.d/mysqld restart   #重启mysql



(3)、MySQL启动基本原理

/etc/init.d/mysqld是一个shell脚本,在启动过程中会调用mysqld_safe脚本,最后调用mysqld服务启动mysql。如下所示,/etc/init.d/mysqld脚本中调用mysqld_safe的程序。



$bindir/mysql_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &



(4)、另外我们还可以使用mysqladmin命令关闭MySQL



mysqladmin -uroot -ppassword shutdown #只有具有mysql的root用户才能执行关闭操作。



(5)、非测试环境不推荐的MySQL关闭方法



killall mysqld
pkill mysqld
killall -9 mysqld