1.下载MySQL安装包

MySQL下载地址为:点此下载 挑选你需要的 MySQL Community Server 版本及对应的平台。

2.检测系统是否安装MySQL

$ rpm -qa |grep mysql
mysql-libs-5.1.73-5.el6_6.x86_64
$ yum -y remove mysql-libs* #删除旧的安装包

3.安装MySQL

1)rpm 方式安装:

$ rpm -ivh MySQL-client-5.5.58-1.el6.x86_64.rpm
$ rpm -ivh MySQL-devel-5.5.58-1.el6.x86_64.rpm
$ rpm -ivh MySQL-server-5.5.58-1.el6.x86_64.rpm
$ rm -rf /etc/my.cnf
$ cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #copy默认配置文件
$ /usr/bin/mysql_install_db #初始化mysql
$ chown -R mysql.mysql /var/lib/mysql #mysql data目录赋权
$ /etc/init.d/mysql start  #启动mysql
$ ps -ef |grep mysql  #验证mysql启动
root     26621     1  0 15:21 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/sz-fc-cs-1-nginx-20-111.pid
mysql    26882 26621  0 15:21 pts/0    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=sz-fc-cs-1-nginx-20-111.err --pid-file=/var/lib/mysql/sz-fc-cs-1-nginx-20-111.pid --socket=/var/libmysql/mysql.sock --port=3306
root     26992 23902  0 15:23 pts/0    00:00:00 grep --color=auto mysql
$ chkconfig mysql on #设置mysql开机启动

2)源码方式安装

$ yum -y install gcc gcc-c++ ncurses ncurses-devel cmake make #安装编译工具
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.58.tar.gz #下载安装包
$ tar -zxvf mysql-5.5.58.tar.gz
$ cd mysql-5.5.58
$ cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 -DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1

配置一下编译选项,这个类似于 ./configure ,只是在 mysql 5.5 版本以后,都不在使用 ./configure ,而是改为了 cmake 。PREFIX 后面的路径,为mysql 要安装的路径,可以根据自己的实际情况来更改。

$ make && make install
$ groupadd mysql
$ useradd -s /sbin/nologin -g mysql mysql #添加 mysql 用户和组
$ mkdir /var/lib/mysql /var/log/mysql
$ chown -R mysql:mysql /usr/local/mysql /var/lib/mysql /var/log/mysql
$ /usr/local/mysql/scripts/mysql_install_db --user=mysql --pid-file=/var/lib/mysql/mysql.pid --datadir=/var/lib/mysql/ --basedir=/usr/local/mysql #初始化数据库
$ rm -rf /etc/my.cnf
$ cp support-files/my-medium.cnf /etc/my.cnf #copy默认配置文件
$ vi /etc/my.cnf #修改配置文件

在[client]下修改socket值为/var/lib/mysql/mysql.sock,修改[mysqld]下的socket值为/var/lib/mysql/mysql.sock,并指定mysql目录、mysql数据目录、mysql错误日志目录,配置如下,并设定数据库编码为UTF-8

[client]
socket          = /var/lib/mysql/mysql.sock
[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
basedir = /usr/local/mysql
datadir = /var/lib/mysql/
log-error = /var/log/mysql/mysql-error.log
pid-file = /var/lib/mysql/mysql.pid
character-set-server = utf8
$ cp support-files/mysql.server /etc/init.d/mysql #copy启动脚本
$ chmod +x /etc/init.d/mysql #赋予执行权限
$ chkconfig --add mysql
$ chkconfig mysql on #设置mysql开机启动

将mysql命令加入到/usr/bin中:

$ echo -e "PATH=/usr/local/mysql/bin:$PATH\nexport PATH" >> /etc/profile
$ source /etc/profile

测试启动:

$ /etc/init.d/mysql start
$ ps -ef |grep mysql
root     14132     1  0 00:28 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/var/lib/mysql/ --pid-file=/var/lib/mysql/mysql.pid
mysql    14454 14132  1 00:28 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysql/mysql-error.log --pid-file=/var/lib/mysql/mysql.pid --socket=/var/lib/mysql/mysql.sock --port=3306

mysql编译参数附录:

-DCMAKE_INSTALL_PREFIX=dir_name	#安装的主目录
-DDEFAULT_CHARSET	#字符集,默认字符集是latin1
-DDEFAULT_COLLATION=collation_name	#服务校对,默认的是latin1_swedish_ci,可以通过SHOW COLLATION语句查看哪个校对匹配的字符集
-DENABLED_LOCAL_INFILE	#是否打开LOAD DATA INFILE的LOCAL参数
-DWITH_INNOBASE_STORAGE_ENGINE=1	#将INNODB存储引擎编译进去
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1	#将FEDERATED存储引擎编译进去
-DWITH_BLACKHOLE_STORAGE_ENGINE=1	#将BLACKHOLE存储引擎编译进去
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1	#不编译EXAMPLE存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1	#将分区存储引擎编译进去
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1	#将Performance Schema(性能视图)存储引擎编译进去
-DCOMPILATION_COMMENT=string	#编译环境描述
-DWITH_READLINE=bool	#是否使用readline库
-DSYSCONFDIR=dir_name	#my.cnf参数文件的路径
-DMYSQL_UNIX_ADDR=file_name	#Unix socket文件的路径,socket文件用于服务器监听连接,这个参数必须是绝对路径
-DENABLED_PROFILING=bool	#是否开启profiling代码的查询(用于SHOW PROFILE and SHOW PROFILES语句)
-DMYSQL_DATADIR=dir_name	#MySQL文件目录的路径,这个参数也可以在启动MySQL的时候带上--datadir参数进行设置
-DWITH_EXTRA_CHARSETS=name	#指定额外的字符集,默认是all,包含所有的字符集。
-DINSTALL_BINDIR=dir_name	#安装用户程序的路径,默认路径是DCMAKE_INSTALL_PREFIX/bin
-DINSTALL_DOCDIR=dir_name	#安装文档的路径,默认路径是DCMAKE_INSTALL_PREFIX/doc
-DINSTALL_INCLUDEDIR=dir_name	#安装头文件的路径,默认路径是DCMAKE_INSTALL_PREFIX/include
-DINSTALL_LIBDIR=dir_name	#安装库文件的路径,默认路径是DCMAKE_INSTALL_PREFIX/lib
-DINSTALL_MANDIR=dir_name	#安装帮助手册的路径,默认路径是DCMAKE_INSTALL_PREFIX/man
-DINSTALL_PLUGINDIR=dir_name	#安装插件的路径,默认路径是DCMAKE_INSTALL_PREFIX/lib/plugin
-DINSTALL_SBINDIR=dir_name	#安装mysqld服务端启动脚本的路径,默认路径是DCMAKE_INSTALL_PREFIX/bin
-DINSTALL_SCRIPTDIR=dir_name	#初始化MySQL数据库的数据文件路径的mysql_install_db脚本路径,默认路径是DCMAKE_INSTALL_PREFIX/scripts
-DINSTALL_SQLBENCHDIR=dir_name	#安装sql-bench的路径,默认路径是DCMAKE_INSTALL_PREFIX
-DINSTALL_SUPPORTFILESDIR=dir_name	#安装支持文件的路径,默认路径是DCMAKE_INSTALL_PREFIX/support-files
-DMYSQL_TCP_PORT=port_num	#服务器监听TCP/IP连接的端口,默认是3306