mysql安装其实特别简单-此方法适用于mysql5和mysql8
1,下载安装包,这里我选择阿里云官方的
我就拿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等工具,比如豆包,文心一言搜索等等
毕竟你只要百度,就证明你是有疑问的,对吧?
可能有些你懂,有些你不懂,但我讲的面向所有群体。
懂的你跳过就好,给小白留点学习成长的空间,
毕竟知识不分,你是会,还是不会,
知识不分人,
即使你是印度人,吃咖喱长大。但只要把它翻译成印度语,印度人也能看懂,那么知识的价值就体现出来了
最后,拜托各位帅哥!靓女!学会了,不要忘记给俺点个攒哈,希望更多人看到~