一、环境描述
-
虚拟机配置
CPU:单核
内存:2 GB
硬盘:120 GB
IP:10.24.17.108 -
操作系统
版本:CentOS 6.6 x86_64
安装方式:Minimal -
虚拟化环境
VMware Workstation 12.1.0 -
MySQL
版本:mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz
安装方式:TAR压缩包
二、安装MySQL
1. 下载MySQL
在Shell中运行以下命令:
cd /root/Downloads
wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.6/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz
2. 安装依赖包
在Shell中运行以下命令:
yum --disablerepo=\* --enablerepo=c6-media install -y libaio
3. 创建MySQL用户和组
在Shell中运行以下命令:
groupadd mysql
useradd -r -g mysql mysql
4. 解压缩MySQL
在Shell中运行以下命令:
tar xvzf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz
mv /root/Downloads/mysql-5.6.26-linux-glibc2.5-x86_64 /usr/local/MySQL
5. 修改MySQL目录所有权
在Shell中运行以下命令:
chown -R mysql /usr/local/MySQL
chgrp -R mysql /usr/local/MySQL
6. 设置MySQL为服务
在Shell中运行以下命令:
cp /usr/local/MySQL/support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chkconfig mysql on
7. 配置MySQL启动参数
在Shell中运行以下命令:
# 指定安装目录
sed -i '46s/basedir=/basedir=\/usr\/local\/MySQL/' /etc/init.d/mysql
sed -i '47s/datadir=/datadir=$basedir\/data/' /etc/init.d/mysql
# 指定lock文件
sed -i $'57s/lockdir=\'\/var\/lock\/subsys\'/lockdir=$basedir\/lock/' /etc/init.d/mysql
sed -i '58s/lock_file_path="$lockdir\/mysql"/lock_file_path=$lockdir\/mysql.lock/' /etc/init.d/mysql
# 指定PID文件
sed -i '63s/mysqld_pid_file_path=/mysqld_pid_file_path=$basedir\/pid\/mysql.pid/' /etc/init.d/mysql
# 设置环境变量
sed -i '105s/PATH="\/sbin:\/usr\/sbin:\/bin:\/usr\/bin:$basedir\/bin"/PATH=$PATH:$basedir\/bin/' /etc/init.d/mysql
# 指定my.cnf文件
sed -i '246s/if test -r "$basedir\/my.cnf"/if test -r "$basedir\/etc\/my.cnf"/' /etc/init.d/mysql
sed -i '248s/extra_args="-e $basedir\/my.cnf"/extra_args="-e $basedir\/etc\/my.cnf"/' /etc/init.d/mysql
# 让mysqld_safe启动时使用指定的my.cnf文件
sed -i '283s/$bindir\/mysqld_safe/$bindir\/mysqld_safe --defaults-file=$basedir\/etc\/my.cnf/' /etc/init.d/mysql
9. 建立目录
在Shell中运行以下命令:
rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
mkdir -p /usr/local/MySQL/etc
mkdir -p /usr/local/MySQL/logs
mkdir -p /usr/local/MySQL/pid
mkdir -p /usr/local/MySQL/lock
mkdir -p /usr/local/MySQL/sock
10. 配置my.cnf文件
在Shell中运行以下命令:
touch /usr/local/MySQL/etc/my.cnf
echo "[mysqld]" >> /usr/local/MySQL/etc/my.cnf
echo "socket=/usr/local/MySQL/sock/mysql.sock" >> /usr/local/MySQL/etc/my.cnf
echo "user=mysql" >> /usr/local/MySQL/etc/my.cnf
echo "# Disabling symbolic-links is recommended to prevent assorted security risks" >> /usr/local/MySQL/etc/my.cnf
echo "symbolic-links=0" >> /usr/local/MySQL/etc/my.cnf
echo "" >> /usr/local/MySQL/etc/my.cnf
echo "[mysqld_safe]" >> /usr/local/MySQL/etc/my.cnf
echo "log-error=/usr/local/MySQL/logs/mysql-error.log" >> /usr/local/MySQL/etc/my.cnf
echo "slow_query_log=1" >> /usr/local/MySQL/etc/my.cnf
echo "log-slow-queries=/usr/local/MySQL/logs/mysql-slow-queries.log" >> /usr/local/MySQL/etc/my.cnf
echo "" >> /usr/local/MySQL/etc/my.cnf
echo "[client]" >> /usr/local/MySQL/etc/my.cnf
echo "socket=/usr/local/MySQL/sock/mysql.sock" >> /usr/local/MySQL/etc/my.cnf
11. 初始化数据库
在Shell中运行以下命令:
cd /usr/local/MySQL
scripts/mysql_install_db --user=mysql
chown -R mysql:mysql /usr/local/MySQL
rm -rf /usr/local/MySQL/my.cnf
12. 设置环境变量
在Shell中运行以下命令:
echo "" >> /etc/profile
echo "export PATH=/usr/local/MySQL/bin:\$PATH" >> /etc/profile
echo "export MYSQL_UNIX_PORT=/usr/local/MySQL/sock/mysql.sock" >> /etc/profile
source /etc/profile
13. 设置数据库root用户密码
在Shell中运行以下命令:
mysqld_safe --skip-grant-table &
mysql -uroot -p
进入MySQL的命令行之后,运行以下命令,将root密码设置为password:
use mysql;
update user set password=password('password') where user='root';
flush privileges;
exit;
14. 重新启动
在Shell中运行以下命令:
reboot
15. 配置远程登录
在Shell中运行以下命令:
mysql -uroot -p
输入上面设置的密码之后,进入MySQL的命令行,运行以下命令,将远程访问的密码设置为password:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
三、验证安装
1. 检查服务状态
在Shell中运行以下命令:
service mysql status
若返回信息如下图所示,则表示MySQL服务运行正常:
2. 检查lock文件
在Shell中运行以下命令:
ll /usr/local/MySQL/lock/
若返回信息如下图所示,则表示MySQL服务启动时成功创建了lock文件:
3. 检查PID文件
在Shell中运行以下命令:
cat /usr/local/MySQL/pid/mysql.pid
若返回信息如下所示,表示MySQL服务的进程号为1604,这个进程号是会变化的:
4. 检查sock文件
在Shell中运行以下命令:
ll /usr/local/MySQL/sock/mysql.sock
若返回信息如下所示,表示MySQL服务启动时成功创建了sock文件:
5. 检查日志文件
在Shell中运行以下命令:
ll /usr/local/MySQL/logs/
若返回信息如下所示,表示MySQL的日志目录设置正确:
四、移除安装
本文会将MySQL几乎所有的文件存放在同一个目录中,在想要删除MySQL时,则可以很方便地删除:
service mysql stop
rm -rf /usr/local/MySQL
rm -rf /etc/init.d/mysql
Pingback: sysbench使用教程 | 水晶命匣
Pingback: 在CentOS上安装PHP | 水晶命匣
Pingback: 在CentOS上通过编译源码安装Zabbix服务端 | 水晶命匣