mysql二进制安装

环境准备

主机名 ip地址 系统 硬盘 内存
db01 10.0.0.51 centos 7.6 50G 2G

官方网站:https://www.mysql.com/

二进制包下载:https://pan.baidu.com/s/1xxq1r8alOfRt86sMMxbgxA 提取码:srbs

检查历史环境

rpm -qa |grep mariadb
rpm -qa | grep mysql

创建用户和组

#用户不登录系统
useradd mysql -s /sbin/nologin
id mysql
uid=1000(mysql) gid=1000(mysql) groups=1000(mysql)

注:如果mysql id为27,就是以前创建过。

创建相关目录

#创建软件目录
mkdir -p /app/database/
#创建数据目录
mkdir -p /data/3306/
#创建日志目录
mkdir -p /binlog/3306/

创建权限

chown -R mysql.mysql /app/ /data/ /binlog

上传并解压 MySQL软件

cd /app/database/   
tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql

设置环境变量

vim /etc/profile
export PATH=/app/database/mysql/bin:$PATH
source /etc/profile
mysql -V
mysql  Ver 14.14 Distrib 5.7.28, for linux-glibc2.12 (x86_64) using  EditLine wrapper

注:这里安装的是5.7版本

初始化系统库表

mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/

报错:mysqld: error while loading shared libraries: libaio.so.1: cannot openshared object file: No such file or directory

解决办法:

yum install -y libaio-devel

执行结果

5.7 初始化方式

1. mysqld --initialize

1. 初始化完成后,会有12位临时密码 ,但是必须在使用MySQL之前重置这个密码。
  [Note] A temporary password is generated for root@localhost: qa&Ichsl.0B+
2. 密码管理使用严格模式:3种密码复杂度放一放。

2. mysqld --initialize-insecure

5.6 版本初始化方式

/app/database/mysql/scripts/mysql_install_db --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/ 

配置文件设置

注:设置的比较简单

cat > /etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/database/mysql
datadir=/data/3306
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF

准备MySQL启动脚本

cd /app/database/mysql/support-files/
cp mysql.server /etc/init.d/mysqld

centos6启动方式

service mysqld start
Starting MySQL.Logging to '/data/3306/db01.err'.
 SUCCESS! 

centos7启动方式

chkconfig --add mysqld
service mysqld stop
Shutting down MySQL.. SUCCESS! 
systemctl start mysqld
原文地址:https://www.cnblogs.com/Mercury-linux/p/12299067.html