linux安装mysql

今天服务器删除挖矿脚本和定时任务之后,重置系统,导致文件系统只读。找官网建议重置系统,因为数据量小,所以不进行实例快照。重新安装数据库 本文大部分参考转载的连接,但原文有部分问题,所以加入了几个自己安装过程的错误解决过程

以下是通过yum安装数据库mysql的具体过程

  1. 先查看是否已经安装了mysql
rpm -qa|grep mysql #如果没有输出则说明未安装
  1. 在mysql 的yum库中找到linux对应版本
cat /etc/redhat-release #查看linux的版本
CentOS Linux release 8.2.2004 (Core) 
  1. 复制对应版本的mysql源
    在这里插入图片描述
  2. 下载mysql源
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

在这里插入图片描述
5. 安装mysql源

sudo rpm -Uvh mysql80-community-release-el8-1.noarch.rpm

在这里插入图片描述

这一步如果安装成功会在/etc/yum.repos.d/目录下生成两个repo文件
在这里插入图片描述

  1. 查看mysql 的相关资源
yum repolist enabled | grep "mysql.*-community.*"

在这里插入图片描述
7. 接下来选择安装mysql的版本
如果使用MySQL Yum Repository安装MySQL,默认会选择当前最新的稳定版本
使用命令:yum repolist all | grep mysql,查看当前yum repolist的所有版本
8. 进行mysql版本的切换 (我安装5.7版本的mysql)

sudo yum-config-manager --disable mysql80-community #禁用最新稳定版本
sudo yum-config-manager --enable mysql57-community #启用5.7
  1. 进行mysql的安装
sudo yum install mysql-community-server

如果这一步报错:没有任何匹配 如下图
根据官网描述,需要先进禁用mysql模块
禁用之后再执行上面的安装命令

sudo yum module disable mysql #禁用mysql模块

在这里插入图片描述
10. 启动mysql

systemctl start mysqld.service #启动mysql
systemctl status mysqld.service #查看mysql运行状态 q退出

在这里插入图片描述
11. 停止mysql命令

	systemctl stop mysqld.service #停止mysql
  1. 重启mysql
	systemctl restart mysqld.service #停止mysql
  1. 修改密码
    mysql第一次启动的时候会自动创建超级管理员账号root@localhost,初始密码存储在日志文件当中:
	grep 'temporary password' /var/log/mysqld.log #查看日志文件

在这里插入图片描述
14. 使用密码登陆

	[root@sewell ~]# mysql -uroot -p
	Enter password: 
	Welcome to the MySQL monitor.  Commands end with ; or \g.
	Your MySQL connection id is 1184
	Server version: 5.7.35
  1. 修改密码
	mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'test';
	ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决方法如下:

使用复杂密码,MySQL默认的密码策略是要包含数字、字母及特殊字符;
如果只是测试用,不想用那么复杂的密码,可以修改默认策略,即validate_password_policy(以及validate_password_length等相关参数),使其支持简单密码的设定,具体方法可以参考:设置密码策略;
修改配置文件/etc/my.cnf,添加validate_password=OFF,保存并重启MySQL
修改报错后重启报错解决可参考:https://blog.youkuaiyun.com/aiyowei1106/article/details/88703746

  1. 设置编码
    1)查看编码

        SHOW VARIABLES LIKE 'character%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                     |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    

    2)设置编码
    编辑/etc/my.cnf,[mysqld]节点增加以下代码

    [mysqld]
    character_set_server=utf8
    init-connect='SET NAMES utf8'
    
  2. 设置开机启动

    	systemctl enable mysqld
    	systemctl daemon-reload
    
  3. 关闭防火墙
    允许远程登录

		# firewall防火墙
		systemctl status firewalld
		# 查看转态
		firewall-cmd --state
		# 开启
		service firewalld start
		# 重启
		service firewalld restart
		# 关闭
		service firewalld stop
		#注意分清楚linux的版本 命令会有所不同
		#查看防火墙规则
		firewall-cmd --list-all 
  1. 删除mysql
    1)检查mariadb

     rpm -qa|grep mariadb 
    

    如无则跳过下面一条
    2)删除mariadb

    rpm -qa|grep mariadb 
    

    3)检查mysql

    rpm -qa|grep mysql
    

    4)删除mysql

    rpm -e --nodeps xxx
    
  2. 数据库连接
    如果要远程连接mysql数据库,需要linux在安全组配置3306端口TCP允许入的权限
    如果使用root远程连接,可能会出现以下错误:
    在这里插入图片描述
    解决方法:
    1) 在装有MySQL的机器上登录MySQL mysql -u root -p密码
    2) 执行use mysql;
    3)执行update user set host = ‘%’ where user = ‘root’;这一句执行完可能会报错,不用管它。
    4)执行FLUSH PRIVILEGES; (一定要执行,否则上述修改不生效)
    之后就可以使用root远程进行连接了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值