1、下载mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz安装包,下载链接如下:
链接:https://pan.baidu.com/s/1wvIy783bXktDxxQdtXNLfA
提取码:0ra5
或者通过以下MySQL官网链接下载即可:https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
2、放置在/opt/ 路径下:
用工具将mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz上传到/opt/下,
然后执行:cp /etc/my.cnf /etc/my.cnf.bak
3、查询是否有 mariadb,若有会跟MySql冲突,先删除
# 查询是否有mariadb:rpm -qa|grep mari
# 删除mariadb
rpm -e --nodeps mariadb-libs
rpm -e --nodeps marisa
然后执行:cp /etc/my.cnf.bak /etc/my.cnf
4、解压安装包,解压到”/opt/“下面:
# 切换目录
cd /opt
# 解压
tar -xvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
# 重命名,执行命令:mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql
#或者通过创建软链接便于使用,这是为了方便后期维护者方便查看MySQL版本号
ln -s mysql-5.7.36-linux-glibc2.12-x86_64/ mysql
#通过输入ll命令查看当前需要安装MySQL的所有文件
5、添加用户组和用户
# 添加mysql组
groupadd mysql
# 创建用户mysql并将友好加到组mysql
useradd -g mysql mysql
6、安装
<1>. 进入MySQL解压后的主目录
cd /opt/mysql
<2>.创建MySQL的数据文件目录”data“ ,并通过ll命令查看是否创建成功
mkdir data
<3>.更改mysql5.7 目录下所有文件夹所属的用户组、用户以及权限,将MySQL的主目录的所有权改为mysql用户,并通过ll命令查看。
chown -R mysql:mysql /opt/mysql/
chmod -R 755 /opt/mysql/
<4>. 安装:指定安装目录,数据目录。
cd /opt/mysql
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --
datadir=/opt/mysql/data
注意:安装的时候会提示有初始化的密码,下面就是一段安装的时候打印的日志
出现图中类似的文字描述,意味数据库安装成功,在“A temporary password is generated for root@localhost: vChqguEq<1YG”,vChqguEq<1YG为系统随机的初始数据库密码,在其后安装过程登录时数据库要用到此密码,这个密码是随机产生的,每次都不一样。
注意:cd/opt/mysql/执行./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql -- datadir=/opt/mysql/data 报以下错误时,
需配置”/etc/my.cnf“,完成后wq!保存退出
# vi /etc/my.cnf
[mysqld]
# 配置MySQL的主目录
basedir=/opt/mysql/
# 配置MySQL的数据目录
datadir=/opt/mysql/data/
socket=/tmp/mysql.sock
user=mysql
tmpdir=/tmp
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
# 配置MySQL的错误日志文件路径
log-error=/opt/mysql/data/error.log
# 配置MySQL的数pid文件路径
pid-file=/opt/mysql/mysql.pid
#
# include all files from the config directory
#!includedir /etc/my.cnf.d
进入/opt/mysql/bin/目录,编译安装并初始化mysql,执行:./mysqld --initialize --user=mysql --datadir=/opt/mysql/data --basedir=/opt/mysql
务必记住数据库管理员临时密码,如下图画红色框的部分
<5>. 将mysql/目录下所有文件,所有权都改回root用户,并通过ll命令查看。
chown -R root .
<6>. mysql用户只需作为mysql/data/目录下所有文件的所有者,并通过ll命令查看
chown -R mysql data
7、制作MySQL启动文件
# 拷贝启动文件,并改名为mysqld
cp support-files/mysql.server /etc/init.d/mysqld
# 设置启动文件的权限
chmod 755 /etc/init.d/mysqld
# 拷贝文件
cp bin/my_print_defaults /usr/bin/
8、修改启动脚本
先修改”/etc/init.d/mysqld“
# vi /etc/init.d/mysqld
# 配置MySQL的主目录
basedir=/opt/mysql/
# 配置MySQL的数据目录
datadir=/opt/mysql/data/
# 配置MySQL的端口
port=3306
# 5个位置的/usr/local/mysql全部修改成/opt/mysql,因为lz没有安装下/usr/local/mysq目录下,所以需要修改成lz安装的/opt/mysql目录
then
basedir=/opt/mysql
bindir=/opt/mysql/bin
if test -z "$datadir"
then
datadir=/opt/mysql/data
fi
sbindir=/opt/mysql/bin
libexecdir=/opt/mysql/bin
配置效果:
最后:按住Shift键,输入wq!回车保存后退出编辑界面
然后配置“/etc/my.cnf”,执行:chmod 775 /etc/my.cnf,
进行配置”/etc/my.cnf“
# vi /etc/my.cnf
[mysqld]
# 配置MySQL的主目录
basedir=/opt/mysql/
# 配置MySQL的数据目录
datadir=/opt/mysql/data/
socket=/tmp/mysql.sock
user=mysql
tmpdir=/tmp
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
# 配置MySQL的错误日志文件路径
log-error=/opt/mysql/data/error.log
# 配置MySQL的数pid文件路径
pid-file=/opt/mysql/mysql.pid
#
# include all files from the config directory
#!includedir /etc/my.cnf.d
最后:按住Shift键,输入wq!回车保存后退出编辑界面
9、配置环境变量
配置环境变量文件”/etc/profile“
# 将MySQL主目录下面的bin目录加入到PATH环境变量
export PATH=$PATH:/opt/mysql/bin
最后:按住Shift键,输入wq!回车保存后退出编辑界面
然后使环境变量生效
source /etc/profile
10、启动MySQL服务
#查询服务
# 启动MySQL服务
service mysqld start
11、登录MySQL进行配置
# 注意:-p后面接的是初始化密码”vb,VT;HUD7sa“,这个密码是随机产生,登录以后
立即修改。登录mysql ,密码就是初始化时生成的临时密码
mysql -uroot -p
# 修改密码:注意密码不能太容易。
update user set authentication_string=password("zj88064488") where user="root";
FLUSH PRIVILEGES;
# 设置MySQL远程可以登录。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'zj88064488' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Exit;
11、在防火墙上给MySQL开3306端口,以供用户的访问。
#授权3306端口号权限
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙,执行命令:
#firewall-cmd --reload
注意:配置权限后,如果发现远程登录有如下报错:
解决办法:把密码重新重置一遍.
12、Mysql开机启动:
#增加mysql服务控制脚本执行权限,执行命令:
chmod +x /etc/rc.d/init.d/mysqld
#将mysqld服务加入到系统服务,检查mysql服务是否已经生效,执行命令:
chkconfig --add mysqld
chkconfig --list mysqld
然后reboot重启服务器查看服务器MySQL运行状态,已正常启动