MySQL在Linux环境下的安装、初始化、配置

CentOS操作系统,可选择:

  • MySQL Community Server 8.0.28
  • Red Hat Enterprise Linux / Oracle Linux
  • Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)

下载的tar包,用压缩工具打开,得到文件

mysql-community-client-8.0.28-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
mysql-community-common-8.0.28-1.el7.x86_64.rpm
mysql-community-devel-8.0.28-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.28-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
mysql-community-libs-8.0.28-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.28-1.el7.x86_64.rpm
mysql-community-server-8.0.28-1.el7.x86_64.rpm
mysql-community-test-8.0.28-1.el7.x86_64.rpm

检查MySQL依赖

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。

chmod -R 777 /tmp
rpm -qa|grep libaio

rpm -qa|grep net-tools

将安装程序拷贝到/opt目录下

按顺序执行

rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
若出现:error: Failed dependencies: mariadb-libs is obsoleted by mysql-community-libs-8.0.28-1.el7.x86_64
执行:yum remove mysql-libs

rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm

rpm 是Redhat Package Manage缩写,通过RPM的管理,用户可以把源代码包装成以rpm为扩展名的
文件形式,易于安装。
-i , –install 安装软件包
-v , –verbose 提供更多的详细信息输出
-h , –hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好),展示进度条

查看MySQL版本

mysql --version
#或
mysqladmin --version

服务的初始化

MySQL安装完成后,必须初始化数据目录,包括mysql系统schema中的表。(对于某些 MySQL 安装方法,数据目录初始化是自动的。例如:MySQL Installer执行的Windows安装操作)

在Unix和类似Unix的系统上,数据库目录和文件必须由操作系统的mysql帐户拥有,以便服务器在以后运行时具有对它们的读写访问权限。为了确保这一点,请从操作系统的root帐户启动mysqld,并包括–user选项,如下所示:

mysqld --initialize --user=mysql

或者,在以操作系统的mysql账户登录时执行mysqld,在这种情况下,可以从命令中省略–user选项。

说明: –initialize 选项默认以”安全”模式来初始化,则会为 root 用户生成一个密码,并将该密码标记为过期,登录后你需要设置一个新的密码。生成的 临时密码 会往日志中记录一份。

查看密码:

cat /var/log/mysqld.log

示例:2022-04-24T16:43:47.181338Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wn6r?IaIaev*

启动MySQL,查看状态

#加不加.service后缀都可以

启动:systemctl start mysqld.service

关闭:systemctl stop mysqld.service

重启:systemctl restart mysqld.service

查看状态:systemctl status mysqld.service

查看MySQL服务是否自启动:systemctl list-unit-files|grep mysqld.service

设置MySQL服务自启动:systemctl enable mysqld.service

关闭MySQL服务自启动:systemctl disable mysqld.service
mysql -hlocalhost -P3306 -uroot -p

由于初始化口令在缺省情况下过期,因此查看数据库时将报告错误

[En]

Because the initialization password expires by default, viewing the database will report an error

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

设置远程登录

在远程机器上使用ping保证网络畅通

在远程机器上使用telnet保证端口号开放访问

ping ip地址

telnet ip地址 端口号

方式一:关闭防火墙

systemctl start firewalld.service

systemctl status firewalld.service

systemctl stop firewalld.service

#设置开机启用防火墙
systemctl enable firewalld.service

#设置开机禁用防火墙
systemctl disable firewalld.service

方式二:开放端口

#查看开放的端口号
firewall-cmd --list-all

#设置开放的端口号
firewall-cmd --add-service=http --permanent

firewall-cmd --add-port=3306/tcp --permanent

#重启防火墙
firewall-cmd --reload
use mysql;

#Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 % 是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为"192.168.1."的客户端都可以连接。如果 Host=% ,表示所有IP都有连接权限。
select host,user from user;

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

#Host修改完成后记得执行flush privileges使配置立即生效
flush privileges;

参考资料:

  • MySQL – 尚硅谷 – 宋红康
  • MySQL官方文档

Original: https://www.cnblogs.com/herecwh/p/16242805.html
Author: 玮浩同学
Title: MySQL在Linux环境下的安装、初始化、配置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505405/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 2018年最新JAVA面试题总结之数据库(3)

    转自于:https://zhuanlan.zhihu.com/p/39804394 1、MySQL的delete与truncate区别? 回答:delete语句执行删除的过程是每次…

    数据库 2023年6月16日
    0139
  • JVM详解

    一、JVM的位置及体系结构 JVM作用在操作系统之上,而Java程序作用在jvm之上,其他的程序则与jvm并列 二、类加载器,及双亲委派机制 1.类加载器 作用:加载Class文件…

    数据库 2023年6月16日
    0108
  • 2. 函数

    404. 抱歉,您访问的资源不存在。 可能是URL不正确,或者对应的内容已经被删除,或者处于隐私状态。 [En] It may be that the URL is incorre…

    数据库 2023年5月24日
    0147
  • Binlog分析利器-binlog_summary.py

    ​Binlog中,除了具体的SQL,其实,还包含了很多有价值的信息,如, 拿到上面这些信息,我们可以做哪些事情呢? 开发了一个简单的Binlog分析工具-binlog_summar…

    数据库 2023年6月11日
    0146
  • rsync

    rsync rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 rsync…

    数据库 2023年6月14日
    0142
  • SpringBoot自定义环境变量——EnvironmentPostProcessor

    现有需求是将数据库配置文件中账号密码相关信息分离且加密,用到了SpringBoot中 EnvironmentPostProcessor接口。可以将外部配置文件读取注入系统中。 实现…

    数据库 2023年6月16日
    0130
  • 内部类

    🐓内部类 可以将一个类定义在另一个类或方法中,这样的类称为内部类 将类定义在另一个类中成员的位置 public class Inner { // 定义在类内部 class Demo…

    数据库 2023年6月14日
    0120
  • Java面试题(三)–虚拟机

    1 内存结构 1、简述一下JVM的内存结构?(高频) JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建销毁时间。如下图所示,可以分为两大…

    数据库 2023年6月16日
    0127
  • English words1004

    本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/16754120.html Or…

    数据库 2023年6月11日
    0136
  • django中出现 错误 Errno 10053

    django中出现 错误 Errno 10053 pycharm里出现下面错误File “C:\Python27\lib\socket.py”, line …

    数据库 2023年6月9日
    0146
  • 详谈 MySQL 8.0 原子 DDL 原理

    柯煜昌 青云科技研发顾问级工程师 目前从事 RadonDB 容器化研发,华中科技大学研究生毕业,有多年的数据库内核开发经验。 文章字数 3800+,阅读时间 15 分钟 背景 My…

    数据库 2023年6月11日
    0194
  • leetcode 114. Flatten Binary Tree to Linked List 二叉树展开为链表(简单)

    一、题目大意 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始…

    数据库 2023年6月16日
    0160
  • Java的Lambda表达式

    函数式编程(Functional Programming)是把函数作为基本运算单元,函数可以作为变量,可以接收函数,还可以返回函数。历史上研究函数式编程的理论是Lambda演算,所…

    数据库 2023年6月9日
    0143
  • centos下安装myrocksdb

    承接上一篇,https://www.cnblogs.com/lunyu/p/10190364.html 。编译安装myrocks的整个过程,特别是第2步和第7步,让人冗长难耐。因此…

    数据库 2023年6月14日
    0171
  • Spring MVC的生命周期与简单三大组件的简单介绍

    1.说到Spring MVC就会想到它是基于MVC设计模式的思想来设计的: 那么MVC设计模式是什么呢? 下面来介绍一下 MVC 设计模式 MVC是模型(model)-视图(vie…

    数据库 2023年6月6日
    0131
  • index_merge引发的死锁排查

    前几天排查了一个死锁问题,最开始百思不得其解,因为发生死锁的两个事务是单语句事务,语句类型相同(where属性列相同,仅值不同),而且语句都走了相同的索引,但最终确实发生了死锁。通…

    数据库 2023年6月9日
    0172
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球