目录
简单认识一点:
1. 安装与卸载中,用户全部切换成为root,⼀旦安装,普通用户能使用的2. 初期练习,mysql不进行用户管理,全部使用root进行,尽快适应mysql语句,后面学了用户管理,在考虑新建普通用户
卸载原有的MySQL
通过查看发现服务器原本就预置了,那么卸载它(也可以不卸载)(mariadb也是MySQL,只不过是分支)
关掉服务
关掉MySQL服务,再次查看发现没有了
我这个机器是没有mariadb的所以不用停止mariadb服务
systemctl stop mariadb.service 命令停止服务
表示没有mariadb,所以无法执行
卸载
检查安装包
然后开始卸载而我们曾经安装时一定有各种安装包的,使用yum安装的安装包一般都是.rpm的
rpm -qa 查看所有的安装包
这些是linux机器下载mysql下载时从远端拉来的安装包
介绍xargs:一个常用的命令行工具,它从标准输入中获取数据,并将其作为参数传递给其他命令
那么如何卸载这些安装包呢?
rpm -qa | grep mysql | xargs yum -y remove 卸载指令
通过管道将安装包列表以xargs形式一个一个喂给卸载程序/进程就可以卸载,而又因为曾经是以yum安装的,所以现在以yum卸载。
检查是否卸载干净
1. 无rpm包
2. 无MySQL进程
3. MySQL 是一个流行的关系型数据库管理系统,它需要一些配置文件来设置其运行时的行为和参数。其中一个配置文件是 my.cnf,它通常位于 /etc/ 目录下。。
MySQL的数据默认在/var/lib/mysql/文件当中。MySQL卸载时默认不会把数据删掉
安装MySQL的yum源
获取MySQL官方yum源
查看自己系统版本:cat /etc/redhat-release
尽量选MySQL5.7,因为使用广泛。
创建目录并将下载的本地rpm安装包传输到linux
更新yum源
ls /etc/yum.repos.d/ -l
发现没有MySQL相关的yum源。
那么就要安装:rpm -ivh mysql57-community-release-el7-9.noarch.rpm 刚下载的mysql官⽅yum源
再对比一下发现已经有了MySQL的yum源
是否能正常工作
yum list | grep mysql
发现很多资源则正常工作 。MySQL的yum源rpm安装包可卸载可不卸载,按照自己心意。
正式安装MySQL
安装MySQL服务
yum install -y mysql-community-server
按照我们的yum源配置自动安装
虽然我们这里只安装了mysql-community-server但是实际上会将相关的功能或者组件或者库或者客户端都会安装。
如果安装出错了则要仔细看报错信息。例如:
安装遇到秘钥过期的问题: Failing package is: mysql-community-client-5.7.39-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决⽅案: rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
回车更新即可,然后重新安装即可。
查看是否安装成功
查看配置文件
查看服务端
sbin对应的必须root启动
查看客户端
启动服务
systemctl start mysqld.service
查看启动服务
可以看到启动了并且启动相应的进程
登录
mysql -uroot -p 密码不回显
发现登陆不上
解决方法
1. 获取临时密码。一般安装后都会形成一个临时密码,可以查看。
grep 'temporary password' /var/log/mysqld.log
有的环境不支持这种指令。
2. 如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码
我这台机器不行,说明我这台机器不支持
3. vim /etc/my.cnf # 打开mysql配置文件
在[mysqld]最后⼀栏配置(不知道是什么,就放在配置⽂件最后) 加⼊: skip-grant-tables 选项, 并保存退出。这个是跳过认证环节。如果有临时文件存在的话按d进入即可。
然后重启服务即可。
改过配置文件后一定要重启MySQL服务,否则不管用。
mysql -uroot -p后回车再回车即可不输入密码进入。显示的图是我的数据库,我的数据没删,所以有一些库。
更新数据库密码:
修改配置文件/etc/my.cnf添加skip-grant-tables保存退出(这个是无密码的访问)
关闭sql服务
重启服务
mysql登录
使用set password="yourpassword";(需要小写字母,大写字母,数字,字符,超过8位)
设置开机选项(都行)
systemctl enable mysqld
systemctl daemon-reload
配置my.cnf文件
配置⼀下my.conf,主要是数据库客⼾端和服务器的编码格式。统一格式
端口号,默认3306,也可以自己改任意的。MySQL服务启动时也是个网络服务有自己的端口号
代表以后数据所在的区域
错误日志
character-set-server=utf8
叫做我们的server端的一个编码格式采用utf8格式
default-storage-engine=innodb
设置一下对应的存储引擎
保存退出即可。配置文件改完得让他生效则要重启服务。
发现端口号是设置的3306.
但是端口号一般不改,防止以前用的数据找不到MySQL的端口号。
少年,努力吧 ,向高峰攀登!