1、先下载二进制文件安装包
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz
2、安装MySQL二进制依赖包
yum install ncurses-devel libaio-devel gcc make cmake net-tools perl-Data-Dumper -y
3、创建MySQL用户
useradd -s /sbin/nologin -M mysql
4、根据你选择的目录解压二进制文件
tar -zxvf mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz -C 后面接你解压的路径
5、配置3306端口实例 my.cnf 文件,并给my.cnf 赋予644权限,如果给了777的话,会出现警告提示,数据库启动不成功,避坑,掉坑里很久了
[client]
[mysqld]
port=3306 #端口号
socket=/mysql/3306/mysql.sock
basedir=/application/mysql-5.6.49-linux-glibc2.12-x86_64/ #解压的二进制文件路径
datadir=/mysql/3306/data #初始化数据路径 需要手动创建全路径
log-bin=/mysql/3306/mysql-bin
server-id=1 #唯一标识 同一台服务器上不能有相同的,比如待会安装3307 这个参数就可以改成 2[mysqld_safe]
log-error=/mysql/3306/mysql_3306_error.log #日志文件 需要手动创建全路径
pid-file=/mysql/3306/mysqld_3306.pid #pid 文件路径
[root@localhost 3306]# chmod 644 my.cnf
赋权:必须把控好权限 ,否则就会提示如下报错
6、配置3306 启动脚本
port=3306
mysql_user="mysql"
cmdpath="/application/mysql-5.6.49-linux-glibc2.12-x86_64/bin/"
mysql_sock="/mysql/${port}/mysql.sock"
mysqld_pid_file_path=/mysql/${port}/mysqld_${port}.pidstart(){
if [ ! -e "$mysql_sock" ];then
printf "Starting MySQL...\n"
/bin/sh ${cmdpath}/mysqld_safe --defaults-file=/mysql/${port}/my.cnf --pid-file=$mysqld_pid_file_path 2>&1 > /dev/null &sleep 3
else
printf "MySQL is running...\n"
exit 1
fi
}stop(){
if [ ! -e "$mysql_sock" ];then
printf "MySQL is stopped...\n"
exit 1
else
printf "Stoping MySQL...\n"
mysqld_pid=`cat "$mysqld_pid_file_path"`
if (kill -0 $mysqld_pid 2>/dev/null)
then
kill $mysqld_pid
sleep 2
fi
fi
}restart(){
printf "Restarting MySQL...\n"
stop
sleep 2
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
printf "Usage: /data/${port}/mysql{start|stop|restart}\n"
esac
7、给脚本赋予可执行权限
chmod +x mysql_3306
8、创建错误日志文件和data文件夹
[root@localhost 3306]# touch /mysql/3306/mysql_3306_error.log
[root@localhost 3306]# mkdir -p /mysql/3306/data
9、文件所有权限赋予MySQL用户
[root@localhost 3306]# chown -R mysql.mysql /my_mysql/
10、path 环境变量设置,添加一行如下
[root@tech_master01 ~]# vim /etc/profile
export PATH=/application/mysql-5.6.49-linux-glibc2.12-x86_64/bin/:$PATH
11、多实例初始化脚本,根据实际情况更改路径
/application/mysql-5.6.49-linux-glibc2.12-x86_64/scripts/mysql_install_db --defaults-file=/mysql/3306/my.cnf --basedir=/application/mysql-5.6.49-linux-glibc2.12-x86_64/ --datadir=/mysql/3306/data/ --user=mysql
12、初始化脚本后,data 目录有以下文件
13、启动3306实例脚本
[root@localhost 3306]# /mysql/3306/mysqld_3306 start
14、最后的文件效果
[root@localhost 3306]# /mysql/3307/mysqld_3307 start
Starting MySQL...
[root@localhost 3306]# netstat -tunpl|grep mysql
tcp6 0 0 :::3306 :::* LISTEN 10020/mysqld
tcp6 0 0 :::3307 :::* LISTEN 12013/mysqld
[root@localhost 3306]# ll
总用量 3352
drwxr-xr-x. 5 mysql mysql 126 11月 16 22:53 data
-rw-r--r--. 1 mysql mysql 279 11月 16 22:50 my.cnf
-rw-r--r--. 1 mysql mysql 2099 11月 16 22:53 mysql_3307_error.log
-rw-rw----. 1 mysql mysql 69459 11月 15 22:51 mysql-bin.000001
-rw-rw----. 1 mysql mysql 1631162 11月 15 22:51 mysql-bin.000002
-rw-rw----. 1 mysql mysql 69480 11月 16 22:52 mysql-bin.000003
-rw-rw----. 1 mysql mysql 1631162 11月 16 22:52 mysql-bin.000004
-rw-rw----. 1 mysql mysql 120 11月 16 22:53 mysql-bin.000005
-rw-rw----. 1 mysql mysql 145 11月 16 22:53 mysql-bin.index
-rwxr-xr-x. 1 mysql mysql 976 11月 16 22:51 mysqld_3307
-rw-rw----. 1 mysql mysql 6 11月 16 22:53 mysqld_3307.pid
srwxrwxrwx. 1 mysql mysql 0 11月 16 22:53 mysql.sock
登录方式
mysql -S /mysql/3306/mysql.sock
3307、3308、3309 .。。。实例也是一样的安装方式,把3306替换成3307便是!
忠告:同学们中途碰到安装报错问题很正常,要多看日志和百度进行排错,踩的坑越多,记忆体验就越深刻。