1 创建指定目录
mkdir -p /data/app
2上传软件到指定目录/data/app
2.1上传软件
mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
2.2 解压制作软连接
[root@db01 app]#tar xf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
[root@db01 app]#ln -s mysql-5.6.46-linux-glibc2.12-x86_64 mysql
3 修改环境变量
echo "export PATH=/data/app/mysql/bin:$PATH" >>/etc/profile
生效配置
source /etc/profile
验证
[root@db01 bin]# mysql -V
mysql Ver 14.14 Distrib 5.6.46 for linux-glibc2.12 (x86_64) using EditLine wrapper
4 清理遗留环境
检查是否有mariadb相关软件
[root@db01 ~]# rpm -qa|grep mariadb
如果有,清理掉
yum remove mariadb-libs -y
删掉/etc/my.cnf 已有的配置文件
rm -rf /etc/my.cnf
5 安装依赖包
[root@db01 ~]# yum install -y libaio-devel
- 创建相关目录、用户,并做授权
[root@db01 ~]# mkdir -p /data/3306/data
[root@db01 ~]# useradd mysql
[root@db01 ~]# chown -R mysql.mysql /data
7 初始化数据
5.6+ 版本初始化 :
[root@nfs /data/3306/data]# /data/app/mysql/scripts/mysql_install_db --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data
有可能的报错:
1. libaio-devel
2. [ERROR] --initialize specified but the data directory has files in it. Aborting.
rm -rf /data/3306/data/*
重新初始化
2.2.9 准备配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
port=3306
server_id=6
[mysql]
socket=/tmp/mysql.sock
2.2.10 准备启动脚本,启动数据库
[root@db01 data]# cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db01 data]# chkconfig --add mysqld
[root@db01 data]# systemctl start mysqld
2.2.11 使用systemd管理mysql
[root@nfs /tmp]# vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
注意:将原来模式启动mysqld先关闭,然后再用systemd管理。
[root@db02 /app/mysql/support-files]# ./mysql.server stop
Shutting down MySQL.. SUCCESS!
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
systemctl start/stop/restart/status mysqld
修改密码
alter user root@'localhost' identified by '123456';