MySQL常见三种安装方式:
1、编译安装:优点是可以定制,按照要求个性化设置;缺点:编译复杂,解决依赖问题
2、二进制安装:优点无需编译,解压即可;缺点 软件包较大
3、yum安装:yum install mysql-server -y即可;缺点是无法个性化定制。
(1)安装环境
OS: CentOS 6.6x64
mysql: mysql-5.6.16
下载地址http://dev.mysql.com/downloads/mysql/
(2)安装前准备
[root@localhost ~]# service iptables stop && chkconfig iptables off //关闭防火墙
[root@localhost ~]# setenforce 0 && sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config //禁用selinux
[root@localhost ~ ]# groupadd mysql && useradd -M -g mysql -s /sbin/nologin mysql //创建mysql用户及用户组
[root@localhost ~ ]# mkdir -p /usr/local/mysql //创建mysql的安装目录
[root@localhost ~ ]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost ~ ]# mkdir -p /data/mysql //创建数据库存放目录
[root@localhost ~ ]# chown -R mysql:mysql /data/
(3)使用cmake编译安装
[root@localhost ~]# cd /root/cmake-2.8.5
[root@localhost cmake-2.8.5]# ./bootstrap //安装cmake之前应该系统中已经安装gcc和g++,否则无法编译cmake
[root@localhost cmake-2.8.5]#gmake && gmake install
[root@localhost ~]# cd /root/mysql-5.6.16
[root@localhost mysql-5.6.16]# time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
//如果这一步报错,可能原因是依赖的程序包未安装。解决方法:安装依赖的程序包后,将mysql-5.6.16 /
目录下的CMakeCache.txt删掉,再重新开始。
[root@localhost mysql-5.6.16]# make &&make install
[root@localhost mysql-5.6.16 ]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
(4)将mysql的启动服务添加到系统服务中
[root@localhost ~] cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
[root@localhost ~] cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@localhost~]echo "PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH ">>/etc/profile && source /etc/profile
(5)启动mysql及安全处理
[root@localhost ~] # /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@localhost ~] # mysql -u root -p //无密码回车
mysql>use mysql;
mysql>alter user user() identified by 'root'
mysql> delete from mysql.user where user !='root' or host!='localhost';
mysql>drop database test;
mysql>truncate mysql.db;
mysql>flush privileges;
mysql>exit