linux系统安装mysql

mysql安装其实特别简单-此方法适用于mysql5和mysql8

1,下载安装包,这里我选择阿里云官方的

mysql安装包下载_开源镜像站-阿里云

我就拿mysql8举例,其他版本同理

首先Ctrl+F 搜索 bundle.tar 这个关键字,其次看文件大小,一般大的就对了。

el6就是centos6,el7就是centos7,el8就是contos8,根据自己的系统选。

这里我用的centos7系统,就下载尾号是  el7.x86_64.rpm-bundle.tar的包包就行

用rz命令上传bundle.tar包,我是上传到/opt下了,大家可以随意上传到任何路径下都行,前提是磁盘大小要留足,不要说这个tar包包1个G,我磁盘剩余500M,这样不行哦,我会认为你是华强买瓜在找茬!rz命令可以用yum -y install lrzsz 安装

大家假如服务器有网,能ping www.baidu.com

用wget命令也可以直接下载到服务器中,我不过多赘述了

wget https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar

有了tar包包了,就继续操作

注意:先创建一个目录,我这里创建的mysql8,把tar包移动或者复制进去在解压,因为压缩包会解压一堆.rpm后缀的文件

tar -xvf mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar 解压,

注意这里大家用的啥包包,就把包包名称换了就行,

比如你下载的mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar版本

就 tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar

解压完成就会得到一堆.rpm结尾的文件

安装前要卸载centos自带的mariadb数据库,主要是mariadb与mysql太相似,怕与mysql起冲突

下面这两条命令卸载mariadb数据库

rpm -qa |grep mariadb

rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

卸载完mariadb,就可以安装mysql了

假如直接用rpm -ivh *.rpm安装,就会有一堆报错,提示你依赖安装失败

那么就加入rpm -ivh *.rpm --nodeps --force 这两个参数就不会报错了

--nodeps 就是不验证依赖包

--force就是强制安装

那么执行的结果就是这样,他会自动出现进度条,进度条到100%,安装完成,就这么简单

ps -ef |grep mysql 命令查看MySQL进程,发现mysql没启动

find查询mysql的my.cnf配置文件,发现是在/etc路径下

find / -name my.cnf

从配置文件看出mysql的数据默认会存放在/var/lib/mysql下,如果想要存放在其他路径下,可以改成自己想要的路径,这里我做演示,就不改了,就默认在/var/lib/mysql下

此时,我查看下/var/lib/mysql有没有东西?发现是个空目录,啥也没有

那么见证奇迹的时刻就到了,我们通过命令启动数据库

service mysqld start

启动完成再次查看,发现/var/lib/mysql路径下有一堆文件

ll /var/lib/mysql

那么就证明你的数据库启动成功了,那咱们登陆数据库看看?

mysql -uroot -p

诶?这里我刚才明明没创建root用户密码,怎么会让我输入密码?

其实这里密码在启动数据库的时候,已经被默认创建了,相当于初始密码,我们要从日志里查看,那么日志在哪里呢?

还记得my.cnf配置文件吗?cat /etc/my.cnf 看看里面怎么写?

我们都知道一般.log结尾的就是日志了,log英文翻译过来也是日志的意思

那么,咱们查看下日志里写了什么

cat /var/log/mysqld.log

这里InnoDB是数据库的默认引擎,因为mysql的引擎有很多,但实际还有很多个,有很多不常用,常用的有这三个

InnoDB 存储引擎
MyISAM 存储引擎
MEMORY 存储引擎

mysql启动之后默认使用的是InnoDB

root@localhost:    这段后面就是root的密码了,大家用这个密码就能登陆数据库,明白了吗?

这个密码是随机生成的,我生成的就是 25ll:ed.Kt;, 这段,复制这段密码登陆即可

mysqld 8.0.35这个是我mysql的版本号,在日志里也有展示

好,那么得到root密码,咱们废话说了一大堆,就实际登陆看看呢?

大家可以密文输入密码

mysql -uroot -p

敲回车,就是输入密码的时候了,这里输入密码别人看不见,自己也看不见,但密码太复杂,输入好几次自己看不见,导致一直输入失败怎么办?

那就尝试明文输入

这里我的密码是一段数字+字母+符号,我们复制粘贴即可

mysql -uroot -p'25ll:ed.Kt;,'

这样就登陆进来了,注意-p的意思就是输入密码的意思,我在-p这里加入了英文输入法下的单引号,在单引号中间放置了密码,为什么要引起来在引号中间输入密码呢?-p后直接输入密码可以吗?那我们来试一下

没有被单引号引起来的密码,登陆里面报错ERROR 1045 (28000)这个错误代码表示访问被拒绝,那就是密码不对,密码加入单引号,就不会有这个报错,那么单引号是什么含义呢?

在mysql中,单引号表示字符串常量

字符串常量表示固定文本值的一种形式,如:用户名、主机名、密码、字符串都是字符串常量

mysql -uroot -p

这里-p是指参数,

-p'' ,这里单引号是想要固定一串密码,将密码与-p参数分开

当然,-u参数后面跟root用户,加单引号也是一样,将-u参数与root这个值分隔开,如果大家不明白,那么我举个例子,

姓名王

姓名:王

这两个谁的姓氏是王?

第一个没有用 :号 做区分,就很容易误解。这个人的姓氏是叫名,还是叫王?

mysql中的  ''  这个单引号就是把-p参数和密码分隔开,理解了吗?没理解也没关系,多花时间去梳理,时间会证明答案

那初始化密码太难记,咱们怎么样修改数据库密码?我给大家一个模板

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

大家把想要修改后的新密码替换进去,比如我想要把密码改成  Hello!!^123

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hello!!^123';

FLUSH PRIVILEGES;  这个命令是刷新权限的意思,这里担心修改密码后不生效,就执行了一下

,如果只改密码,可以不输入,如果要做授权,比如这条命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';

那么最好执行下这条语句 FLUSH PRIVILEGES;

不过养成习惯了,修改账号密码这块会导致权限变更问题,保险起见,改完账号密码,还是加上刷新权限这段命令,有好处没坏处

好吧,那最后咱们用新密码登陆一下看看?在登陆前试一下老密码还能不能登陆?

mysql -u'root' -p'25ll:ed.Kt;,'

老密码已经不行了,他失效了,在提一嘴,exit命令可以退出数据库,主要怕小白不知道

那试试新密码呢?

mysql -u'root' -p'Hello!!^123'

噢!完美~

行吧,讲的比较啰嗦,我尽量讲细致点,能让小白也学会,假如没讲到位的地方可以留言,或者可以看其他uP分享的案例,从中学习,也可以用GPT等工具,比如豆包,文心一言搜索等等

毕竟你只要百度,就证明你是有疑问的,对吧?

可能有些你懂,有些你不懂,但我讲的面向所有群体。

懂的你跳过就好,给小白留点学习成长的空间,

毕竟知识不分,你是会,还是不会,

知识不分人,

即使你是印度人,吃咖喱长大。但只要把它翻译成印度语,印度人也能看懂,那么知识的价值就体现出来了

最后,拜托各位帅哥!靓女!学会了,不要忘记给俺点个攒哈,希望更多人看到~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值