开发者社区> 经典鸡翅> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux下安装mysql5.7.25详细教程

简介: linux下安装mysql5.7.25详细教程
+关注继续查看

前言

最近项目上线,开始给用户测试了。搞下来好多台服务器,自然要装一个mysql的服务器。想想广大博友应该都会遇到如何装mysql的问题,就此分享,给大家一个安装指南。供大家以后安装的时候,提高效率,瞬间完事。

准备工作

当然是准备一个mysql5.7.25的tar包啦!自行百度下载吧!留言找我要也行!

安装步骤

检查是否有老版本的mysql

检查是否有老版本

rpm -qa | grep mysql

输入后,没有任何信息弹出,证明机器上没有老版本的mysql。如果有,就会展示出mysql的版本。像是这样

mysql-libs-5.1.52-1.el6_0.1.x86_64

如果有,我们要将它卸载掉,卸载命令如下:

rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64  // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

检查完mysql后,再检查是否有老版本的mariadb数据库,如果有的话,仍然删除。步骤与上方类似。

rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

上传

将我们下载好的mysql5.7.25的tar包上传到服务器目录/data/mysql,需要先新建这个目录。下文中提到的目录,如果没有的话都需要大家先建立。
解压tar包

cd /opt/mysql
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

对解压后的文件夹进行重命名,方便以后的操作。

mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25

添加系统的mysql组和用户

先查看系统中是否已经有了。

cat /etc/group | grep mysql
#类似
mysql:x:490:
cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash

如果上面的cat命令都没有查出结果,则进行新建用户和组。

groupadd mysql
useradd -r -g mysql mysql
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统

安装数据库

创建data目录

cd mysql-5.7.25
mkdir data

将/opt/mysql/mysql-5.7.25的所有者及所属组改为mysql

chown -R mysql.mysql /opt/mysql/mysql-5.7.25

在/opt/mysql/mysql-5.7.25/support-files目录下创建my_default.cnf,并将如下内容放入进去。

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
 
basedir = /opt/mysql/mysql-5.7.25
datadir = /opt/mysql/mysql-5.7.25/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
 
log-error = /opt/mysql/mysql-5.7.25/data/mysqld.log
pid-file = /opt/mysql/mysql-5.7.25/data/mysqld.pid

将该文件拷贝到etc下,如果提示已经存在,则选择覆盖。

cp support-files/my_default.cnf /etc/my.cnf

初始化mysql数据库

cd /opt/mysql/mysql-5.7.25
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.25/ --datadir=/opt/mysql/mysql-5.7.25/data/

初始化完成后,查看日志

/opt/mysql/mysql-5.7.25/data/mysqld.log

通过日志可看到临时密码

[Note] A temporary password is generated for root@localhost: ee4fa12as!da

把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql

启动mysql的服务

service mysql start

登录mysql,密码为我们在日志中看到的初始化密码

cd /opt/mysql/mysql-5.7.25
./bin/mysql -u root -p

修改密码

mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;

添加远程访问权限。

mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;

重启mysql

service mysql stop
service mysql start

或者

service mysql restart

总结

至此mysql就成功安装完毕了。
需要注意的问题:
之前装的时候,在启动的时候,会报找不到目录,我们可以进入/etc/init.d,找到下面的mysql修改里面的basedir,修改为我们实际安装的data目录。重启即可。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
面试常问到的27个Linux命令,你认识几个?
面试常问到的27个Linux命令,你认识几个?
21 0
新手必须掌握的Linux命令
新手必须掌握的Linux命令
22 0
12.24 Linux查看内存使用状态(free命令)
free 命令用来显示系统内存状态,包括系统物理内存、虚拟内存(swap 交换分区)、共享内存和系统缓存的使用情况,其输出和 top 命令的内存部分非常相似。
40 0
12.26 Linux查看过去登陆的用户信息(last和lastlog命令)
前面,我们已经学了使用 w 或 who 命令查看当前登陆系统的用户信息,但如果原先登录的用户现在已经退出登录,那么是否还能查看呢?当然可以,这就需要使用 last 和 lastlog 命令。
53 0
+关注
61
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载