Centos7安装MySQL教程

卸载MariaDB

在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。CentOS 7 及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。如果直接安装MySQL,会和MariaDB的文件冲突。因此,我们需要先卸载自带的MariaDB,再安装MySQL。

  1. 查看版本

    rpm -qa|grep mariadb
    
  2. 卸载

    rpm -e --nodeps 文件名
    
  3. 检查是否卸载干净,可继续执行查看版本命令

卸载MySQL

如果你之前安装过MySQL请先卸载再继续操作

  1. 查看系统是否存在MySQL

    rpm -qa|grep mysql
    

安装MySQL

  1. 下载官方 MySQL 包

    wget -c https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
    
  2. 安装MySQL 包

    yum -y install mysql80-community-release-el7-6.noarch.rpm
    
  3. 安装MySQL

    yum -y install mysql-community-server
    

    如果报错image-20220528171118248

    这个时候执行以下命令,再重新安装MySQL

    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    
  4. 假设此刻你已经安装成功,启动MySQL 服务

    systemctl start mysqld
    
  5. 查看MySQL服务状态

    systemctl status mysqld
    

    image-20220528171651091

  6. 查看MySQL服务端口号

    netstat  -nlpt | grep mysqld
    

    image-20220528171856010

  7. 设置开机启动

    systemctl enable mysqld
    systemctl daemon-reload
    
  8. 更改密码

    1. 查看初始化密码

      cat /var/log/mysqld.log  | grep password
      

      image-20220528172234948

    2. 进入Mysql

      mysql -uroot -p
      

      然后输入上方的密码

    3. 更改密码(必须是强密码),并刷新(Mysql结尾一定要加英文分号 ; )

      mysql> alter user 'root'@'localhost'  identified by 'Root123..';     -- 修改密码(强密码)
      mysql> flush privileges;                                             -- 刷新,立即生效
      mysql> select user,host from mysql.user;                          	 --查看数据库中账号信息
      

      如果你想更改密码规则,做这一步的前提:必须是修改了默认的随机密码

      mysql> set global validate_password.policy=0;			 		--关掉强密码认证
      mysql> set global validate_password.length=4; 					--密码长度最短为4位数
      mysql> alter user 'root'@'localhost'  identified by 'root123'; 	  --修改密码(弱密码)
      

    MySQL 服务操作

    service mysqld restart										-- 重启服务
    service mysqld stop											-- 关闭服务
    service mysqld start										-- 启动服务
    

    小知识:

    查看防火墙是否已开放3306端口
    firewall-cmd --query-port=3306/tcp
    
    设置3306端口为永久开放
    firewall-cmd --add-port=3306/tcp --permanent
    
    查看firewalld状态,发现当前是dead状态,即防火墙未开启
    systemctl status firewalld
    
    关闭防火墙
    systemctl stop firewalld
    永久关闭防火墙
    systemctl disable fireadlld.service
    
    重启防火墙(设置了新的端口记得先关闭,再重启)
    systemctl status firewalld
    

    远程连接失败解决

    image-20220528184354240

    当你使用navicat来连接你的mysql时出现了这个错误,这个的原因是数据库的账号没有允许远程ip访问的权限

    登录服务器查看具体情况

    先连接到mysql,然后选择数据库

    mysql> use mysql;
    mysql> select host from user where user='root';
    

    image-20220528184803249

    如果host列显示loalhost而不是%则说明只能本地访问,需要开启远程访问

    将localhost修改成需要远程连接数据库的ip地址。或者直接修改成%。修改成%表示,所有主机都可以通过root用户访问数据库。

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

    然后重启mysql服务

    今天的不开心就到此为止吧 ^o^

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oah1021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值