首页 > 技术文章 > MySQL二进制包安装

wangjie20200529 2021-02-18 13:27 原文

卸载服务器已安装的数据库

yum remove mariadb-libs
yum remove mariadb-server

1、创建软件目录

mkdir -p /app
上传软件到此目录

2、解压并改名为mysql

tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
ll /app/mysql/

3、设置环境变量

vim /etc/profile
export PATH=/app/mysql/bin:$PATH
source /etc/profile

4、建立mysql用户和组

useradd mysql

5、创建相关目录并修改权限

mkdir -p /data/mysql
chown -R mysql.mysql /app/*
chown -R mysql.mysql /data/*

6、初始化数据(建库)

方法一:

mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql

报错原因: Linux系统中缺少libaio-devel 软件包
解决:
yum install -y libaio-devel
重新初始化

报错原因:
在/data/mysql 存在文件
解决:
\rm -rf /data/mysql/*
重新初始化

方法二:

初始化数据,初始化管理员的密码为空
mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql

注意新特性:

5.7开始,MySQL加入了全新的密码安全机制
初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
密码复杂度:长度超12位 复杂度:字符混乱组合
密码过期时间180天(在5.7.11版本后都已经把默认值从360变成了0也就是永不过期了)
注意5.6初始化的区别
/application/mysql/scripts/mysql_install_db --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql
配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock/
[mysql]
socket=/tmp/mysql.sock
prompt=3306 [\d]>
配置启动脚本
cd /app/mysql/support-files
cp mysql.server /etc/init.d/mysqld
使用systemd管理mysql
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=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

启动、停止、重启

systemctl start/stop/restart mysqld

安装后的简单管理-修改密码

mysqladmin -uroot -p password 123456

推荐阅读