共计 2712 个字符,预计需要花费 7 分钟才能阅读完成。
一、MySQL 各类安装方法的比较
在 Linux 系统下,MySQL 有 3 种主要的安装方式,分别是:RPM 安装、二进制安装、源码安装。三种安装方式的优缺点如下表所示:
RPM 安装 | 二进制安装 | 源码安装 | |
优点 | 安装简单,适合初学者 | 安装简单,可以安装到任何路径下 | 可以根据使用需要定制编译,灵活,性能最好 |
缺点 | 需要单独下载服务端和客户端,安装路径不够灵活,默认路径不能修改 | 已经经过编译,性能不如源码安装的好,无法灵活定制编译参数 | 安装过程复杂,编译时间长 |
文件布局 |
|
|
二、RPM 安装过程说明
访问 http://dev.mysql.com/downloads/mysql/5.6.html#downloads,选择下载对应版本和位数的 rpm 安装包,如下图所示:
运行如下命令即可完成安装。
1 | rpm -ivh MySQL-devel-5.6.31-1.el6.x86_64.rpm |
三、二进制安装过程说明
(1)、增加 mysql 用户和用户组
1 2 | groupadd mysql useradd -g mysql mysql |
(2)、解压二进制安装包,放到指定的目录下。
(3)、初始化数据库, 创建数据库的基础表。
1 | ./mysql_install_db --user=mysql |
(4)、根据实际需要,设置相应目录权限。
四、源码安装过程说明
(1)、下载,解压源码包。
(2)、安装必要的软件包。
1 2 3 4 | 1.cmake 2.ncurses-devel yum install cmake ncurses-devel -y |
(3)、创建用户和组
1 2 | groupadd mysql useradd mysql -s /sbin/nologin -M -g mysql |
(4)、编译参数及安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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)、生成链接目录
1 | ln -s /usr/local/mysql-5.6.28 /usr/local/mysql |
(6)、添加环境变量
1 2 | echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile source /etc/profile |
(7)、修改目录权限
1 | chown -R mysql.mysql /usr/local/mysql-5.6.28 |
(8)、初始化数据库,生成基础表
1 2 | /usr/local/mysql/scripts ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql |
(9)、配置 MySQL 启动文件
1 2 3 | cd /usr/local/mysql/support-files cp mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld |
五、MySQL 的启动与关闭
(1)、对于使用 RPM 安装的,可以使用系统服务来启动与关闭 MySQL。
1 2 | service mysqld start #启动 mysql service mysqld stop #关闭 mysql |
(2)、对于二进制和源码安装,可以从安装目录中找出 mysql 的启动文件(参考编译安装过程第 9 步,当然,你也可以自己编写一个),然后拷贝到 /etc/init.d/mysqld,用来来启动和关闭 MySQL,也可以用 chkconfig 命令将其加入系统服务中。
1 2 3 | /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 的程序。
1 | $bindir/mysql_safe --datadir= "$datadir" --pid-file= "$mysqld_pid_file_path" $other_args >/dev/ null 2>&1 & |
(4)、另外我们还可以使用 mysqladmin 命令关闭 MySQL
1 | mysqladmin -uroot -ppassword shutdown #只有具有 mysql 的 root 用户才能执行关闭操作。 |
(5)、非测试环境不推荐的 MySQL 关闭方法
1 2 3 | killall mysqld pkill mysqld killall -9 mysqld |
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-07/133234.htm