文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Centos7 安装MySQL 5.7图文详细教程

2023-08-17 15:23

关注

一. 检查是否安装过MySQL

检查当前系统是否安装过mysql

执行安装命令前,先执行查询命令

1. CentOS6

rpm -qa|grep mysql

如果存在mysql-libs的旧版本包如下:
在这里插入图片描述
请先执行卸载命令:rpm -e --nodeps mysql-libs

2. CentOS7

先执行查询:rpm -qa|grep mariadb

如果存在mariadb执行删除:rpm -e --nodeps mariadb-libs
在这里插入图片描述

二. 安装MySQL

1. 将压缩包传到服务器

我这里用的是mysql-5.7.16 , 如需其他版本可自行下载
这里是mysql-5.7.16的压缩包 :

链接:https://pan.baidu.com/s/1zNmv-0Io2BQmp0e3go72Gg
提取码:wjud

2. 解压文件

tar -zxv mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar.gz

3. 安装(按顺序执行)

rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm

查看安装版本:mysqladmin --version

查看mysql用户:id mysql

在这里插入图片描述

4. MySQL服务初始化

执行下面的命令初始化:

mysqld --initialize --user=mysql

使用mysql系统用户以安全模式为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码

查看密码:cat /var/log/mysqld.log

在这里插入图片描述

5. 修改初始化密码

要修改MySQL,首先必须启动MySQL服务,使用初始化密码登录后,才能修改密码:

启动MySQL服务:systemctl start mysqld.service

关闭MySQL服务:systemctl stop mysqld.service

在这里插入图片描述

修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

在这里插入图片描述

6. MySQL自启动

查看mysql是否自启动(默认自启动

systemctl list-unit-files|grep mysqld.service

在这里插入图片描述
如不是enabled可以运行如下命令设置自启动

systemctl enable mysqld.service

7. 修改字符集问题

测试mysql的使用:

在这里插入图片描述

出现了编码问题,原因:查看mysql编码(show variables like '%character%';),发现默认编码是latin1
在这里插入图片描述

修改编码,需要修改mysql配置文件:vi /etc/my.cnf

在mysqld下添加一行编码配置:character_set_server=utf8
在这里插入图片描述
保存并退出,重启mysql服务:systemctl restart mysqld

已生成的库表字符集如何变更?

修改数据库的字符集:alter database mydb character set 'utf8';

修改数据表的字符集:alter table mytbl convert to character set 'utf8';

在这里插入图片描述

8. 远程访问MySQL

接下来用宿主机navicat客户端访问MySQL服务,报如下错误:(确保防火墙已关闭

在这里插入图片描述

原因:默认情况下,mysql不允许远程连接。只允许localhost连接

执行:select host,user,authentication_string,select_priv,insert_priv from mysql.user;

在这里插入图片描述

解决方案:

  1. 创建新的用户(此处省略)
  2. 修改root用户访问权限

9. 授予root远程访问权限

授权命令:

grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

该权限如果发现没有该用户,则会直接新建一个用户。

比如

grant all privileges on *.* to root@'%' identified by 'root';  #授予通过网络方式登录的的root用户,对所有库所有表的全部权限,密码设为root.

在这里插入图片描述

扩展:

查看当前用户权限:show grants;

查看当前用户的全局权限:select * from user ;

查看某用户的某个表的权限:select * from tables_priv;

收回权限命令:

revoke 权限1,权限2,…权限n on 数据库名称.表名称 from 用户名@用户地址 ;

收回全库全表的所有权限:REVOKE ALL PRIVILEGES ON mysql.* FROM li4@localhost;

收回mysql库下的所有表的插删改查权限:REVOKE select,insert,update,delete ON mysql.* FROM li4@localhost;

必须用户重新登录后才能生效

10. 测试连接

连接测试:

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_45277608/article/details/127714913

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯