【MySQL】MySQL在 Linux下环境安装

万有斥力  金牌会员 | 2024-6-29 11:38:53 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 662|帖子 662|积分 1986

说明:


  • 安装与卸载中,用户全部切换成为root,一旦安装,平凡用户也能使用的
1.卸载不要的环境

  1. ps ajx | grep mariadb  # 先检查云服务器是否配的有mariadb存在
复制代码
像我这里就是没有的

假如有就先制止掉
  1. systemctl stop mariadb.service # 停⽌mariadb 服务
复制代码
检查是否安装过mysql
  1. ps ajx | grep mysql
复制代码
我这里就是安装过的

先切成root用户,然后暂停mysql服务,在查一下mysql就没有了在运行了
  1. systemctl stop mysqld  #关闭mysql服务
复制代码

假如曾经安装过mariadb或mysql,系统里面一定会有各种安装包,一样平常通过yum的方式获取到的安装包都是 .rpm 为后缀的
  1. rpm -qa | grep mysql #查看mysql安装包
复制代码

下面把这些安装包卸载,当然你可以一个一个卸载,也可以一次卸载一批
xargs这个指令是将前面内容拼接到这条下令的最后面,由于以前是通过yum安装的,以是还通过yum卸载
  1. rpm -qa | grep mysql | xargs yum -y remove
复制代码
卸载完,再查一下发现没有了,这才是真的卸载完成

  1. ls /etc/my.cnf
  2. #检查当前是否有这个文件,如果卸载了mysql这个是没有的
复制代码
  1. ls /var/lib/mysql #在系统中mysql默认在这个路径下
复制代码
这个是上一个mysql残留下来的数据,mysql卸载时默认没把数据删掉,这个也是清算之中的,不影响后面的操纵

2.获取mysql官方yum源

mysql官方yum源
注意:最好安装和自己系统⼀致的mysql版本,否则可能会存在软件兼容性题目
  1. cat /etc/redhat-release #查看自己的系统版本
复制代码

mysql有5.7 和8.0 我们接纳最常用的5.7,el代表CentOS,虽然这里没有7.6的但是我们可以选这个,假如有和自己对应的版本7.7、7.8、7.9就选择对应的。

下载到你的本地,然后上传到你的Linux服务器
  1. rz  #拉取本地文件到linux服务器
复制代码
现在确实看到是存在的

3.安装mysql yum源

rpm是安装下令,yum是下载下令
对比前后yum 源
  1. ls /etc/yum.repos.d/ -l
复制代码
没安装之前

  1. rpm -ivh mysql57-community-release-el7.rpm #安装刚才下载的mysql源
复制代码
安装之后,发现多了两个mysql

测试看看能不能正常工作,假如有内容说明yum已经见效了
  1. yum list |grep mysql
复制代码
4.安装mysql服务

上面安装好之后,我们就可以用yum的方式一键安装mysql
  1. yum install -y mysql-community-server #安装mysql
复制代码
它会将公共部分、库、客户端,服务器都安装。
假如在安装的时候报错了。最常见就是两种题目
1.安装碰到秘钥过期的题目:
  1. Failing package is: mysql-community-client-5.7.39-1.el7.x86_64
  2. GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  3. 解决⽅案:
  4. rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
复制代码
将上面下令输入下令行,然后在重新安装就可以了
2.安装之后可能发现自己装的是mysql80,根本原因是由于把mysql yum源下载错了
安装mysql成功,输入下面下令可以看到存在一个my.cnf的文件
  1. ls /etc/my.cnf
复制代码

存在mysql服务端和客户端

mysqld是服务端,一样平常启动mysql服务端显着看到/sbin/mysqld代表超等用户需要执行它,一样平常像mysql等这种存储相关的网络服务启动时必须是root权限。我们平凡用户用的不是root启动的服务端,而是mysql客户端。
有上面三个东西说明mysql是装好了!
然后我们将mysql服务启动
  1. systemctl start mysqld #启动mysql服务
复制代码


启动之后我们登录一下
  1. mysql -uroot -p
复制代码
我们发现登录不进去

下面我们解决如何在现阶段进行通例登录,
5.登录题目

登录方法一(不行就下一个)
获取临时root暗码,使用临时暗码登录
  1. sudo grep 'temporary password' /var/log/mysqld.log #获取临时root密码
复制代码
登录之后可以自己修改一下
判定修改暗码时候新暗码是否符合当前的策略,不满意报错,不让修改,关闭它。安全强度,默认为中,即1,要求必须包含 数字、符号、大小写字母,长度至少为8位
   mysql> set global validate_password_policy=0;
  暗码最小长度
   mysql> set global validate_password_length=1;
  修改本地登录暗码,暂不授权长途登录
   mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘qwer@wu.888’;
    mysql> FLUSH PRIVILEGES;
  假如你安装的最新的mysql,没有所谓的临时暗码,root默认没有暗码
登录方法二(不行就下一个)
假如你安装的最新的mysql,没有所谓的临时暗码,root默认没有暗码
试着直接client登岸⼀下
登录方法三(这个肯定行)
  1. vim /etc/my.cnf #打开mysql配置⽂件
复制代码
在[mysqld]最后一栏设置(不知道是什么,就放在设置文件最后) 参加: skip-grant-tables 选项,并生存退出。就是登录时不给再给我做暗码认证了。

然后重启mysql服务,才气设置文件见效!
  1. systemctl stop mysqld #关闭
  2. systemctl start mysqld #启动
复制代码
  1. systemctl restart mysqld #直接重启
复制代码
两种办法都可以,然后在登录就不要暗码直接按空格进去了

查看自己的数据库

退出

5.设置my.cnf

解决mysql编码不一致题目,这里我们统一使用utf8进行编码,也可以自己该mysql端口号
改mysql端口号
想改就改不改就不用写这句话

datadir 是将来mysql建库建表时数据所在的路径
log-error 是错误日子所在路径

server编码格式

存储引擎

改完重启服务一下才气见效!
6.设置开机启动(可以不设)

由于我们的服务器是部署在云服务器上,云服务器不会关机,因此可以不设
开启开机自启动
  1. systemctl enable mysqld
  2. systemctl daemon-reload
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万有斥力

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表