MySQL5.7二进制安装

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。