1.mysql tar包的下载
#下载官网:https://downloads.mysql.com/archives/community/
2.把tar包上传到服务器
3.解压
[root@node01 ~]# tar -xf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
[root@node01 ~]# mkdir /app
[root@node01 ~]# mv mysql-5.7.25-linux-glibc2.12-x86_64 /app/mysql
4.配置环境变量
[root@node01 ~]# vi /etc/profile.d/mysql.sh
export PATH=/app/mysql/bin:$PATH
[root@node01 ~]# source /etc/profile.d/mysql.sh
5.配置数据目录和权限
[root@node01 ~]# mkdir -p /data/mysql #创建数据目录
[root@node01 ~]# useradd -s /bin/nologin mysql 创建musql启动用户
[root@node01 ~]# chown mysql.mysql /data/mysql #更改目录用户
[root@node01 ~]# chown -R mysql.mysql /app/mysql #给/app/mysql/赋予mysql的执行权限
6.初始化
#初始化数据,及管理员的临时密码
#如果有配置文件,根据配置文件,将相关文件初始化到对应位置
#如果没有配置文件,可在命令后面跟上相关选项:--basedir,--datadir,--pid-file,--log-error等,否则按编译时的默认规则来
#默认basedir=/app/mysql,datadir=/data/mysql
--initialize-insecure,不生成密码
#这里我们将mariadb库自带的/etc/my.cnf删除
[root@node01 ~]# ls /etc/my.cnf
/etc/my.cnf
[root@node01 ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64
[root@node01 ~]# rm -rf /etc/my.cnf
mysql5.7开始,增加了新的安全机制,不允许无密码登陆。
#初始化完成后,会生成一个临时密码,记录下来
#初始化过程,数据目录不能有数据,如果有,清空
[root@node01 ~]# rpm -qa |grep mariadb
[root@node01 ~]# rm -rf /etc/my.cnf
[root@node01 ~]# ls /data/mysql
[root@node01 ~]# mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql
7.重新初始化
#注意,重新初始化,数据目录必须为空
[root@node01 ~]# ls /data/mysql/
[root@node01 ~]# rm -rf /data/mysql/*
[root@node01 ~]# mysqld --initialize--insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql
8.定义配置文件
[root@node01 ~]# vi /etc/my.cnf
#服务端配置
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql
server_id=1
port=3306
socket=/tmp/mysql.sock
log-error=/var/log/mysql/mysql.log
#客户端配置
[mysql]
socket=/tmp/mysql.sock
prompt=hello [\\d]> #自定义提示符
#创建日志目录,并修改权限
[root@node01 ~]# mkdir /var/log/mysql
[root@node01 ~]# chown mysql.mysql /var/log/mysql
9.启动
#mysql自带一个启动脚本
/app/mysql/support-files/mysql.server
[root@node01 ~]# ls /app/mysql/support-files/mysql.server
[root@node01 ~]# cd /app/mysql/support-files/
[root@node01 support-files]# ./mysql.server start #启动
[root@node01 support-files]# ps -elf |grep mysqld #查看mysqld进程
10.登陆
#使用初始化时候的密码进行登陆
[root@node01 support-files]# grep password /var/log/mysql/mysql.log #查看初始化时候的密码
[root@node01 support-files]# mysql -u root -p
#默认密码登陆,不允许作任何操作,需要先改密码
hello [(none)]>alter user root@'localhost' identified by 'redhat'; #更改密码
hello [(none)]>select user,host,authentication_string from mysql.user;
#查看一下账号密码信息
11.开机自启
#编写systemd配置文件
[root@node01 ~]# vi /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
After=syslog.target
[Install]
WangtedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf