mysql数据库安装教程(超级超级详细)

article/2025/10/20 5:22:47

目录

一、首先安装可以根据官方文档进行安装

二、Linux中安装mysql

1、首先执行二进制文件的安装


一、首先安装可以根据官方文档进行安装

https://dev.mysql.com/doc/

1、先安装到Windows中:

 2、选择mysql community server。

3、 选择要下载的版本,到时候使用Linux中的ftp软件上传。推荐选择5.7版本的,因为老,稳定,很多公司都在使用。

4、 然后接下来是可以根据官方文档安装到Linux中:

二、Linux中安装mysql

1、安装mysql:准备一台新的虚拟机,没有安装过mysql的。然后先使用xfs将mysql的压缩包下载到Linux中(随便的路径都可以)

2、然后先使用xfs将mysql的压缩包下载到Linux中(随便的路径都可以)。我们是实现二进制文件进行安装:也有一个脚本文件的安装。那我们待会就可以准备一台克隆机来使用脚本安装。

1、首先执行二进制文件的安装

1、修改主机名:为了方便识别

[root@nginx-kafka02 opt]# hostnamectl set-hostname sc-mysql
[root@nginx-kafka02 opt]# su - root  切换用户进行生效
上一次登录:五 7月 29 09:19:53 CST 2022从 192.168.2.118pts/0 上

2、解决软件的依赖关系。

yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y

[root@sc-mysql ~]# yum  install cmake ncurses-devel gcc  gcc-c++  vim  lsof bzip2 openssl-devel ncurses-compat-libs -y
已加载插件:fastestmirror
Determining fastest mirrors
epel/x86_64/metalink                                                 | 6.2 kB  00:00:00     * base: mirrors.nju.edu.cn* epel: mirror.sjtu.edu.cn* extras: mirrors.nju.edu.cn* updates: mirrors.nju.edu.cn
base                                         
...

弄克隆机的时候需要先将原始机器关机,然后创建克隆机:

原始机器关机:init 0

创建好克隆机之后重新连接上。

3、安装网络工具

[root@sc-mysql ~]# yum install net-tools -y

4、解压压缩包

 tar -xf  mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
[root@sc-mysql opt]# tar -xf  mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
[root@sc-mysql opt]# ls
apache-zookeeper-3.6.3-bin         kafka_2.12-2.8.1.tgz
apache-zookeeper-3.6.3-bin.tar.gz  mysql-5.7.37-linux-glibc2.12-x86_64
kafka_2.12-2.8.1                   mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

5、移动mysql解压后的文件

移动mysql解压后的文件到/usr/local下改名叫mysqlusr/local/mysql 是mysql的安装目录 --门店

[root@sc-mysql opt]#mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql

 6、新建组和用户 mysql

mysql这个用户的shell 是/bin/false 属于mysql组。

useradd -r:是指创建系统用户,也就是 UID 在 1~499 之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录。

-g 组名:手工指定用户的初始组。一般以和用户名相同的组作为用户的初始值,在创建用户会默认建立初始组。一旦手动指定,系统将不会在创建此默认的初始组目录。

[root@sc-mysql opt]# groupadd mysql
[root@sc-mysql opt]# useradd -r -g mysql -s /bin/false mysql
[root@sc-mysql opt]# ll -d /data/mysql
drwxr-xr-x 2 root root 6 7月  29 11:32 /data/mysql

7、关闭firewalld防火墙服务,并且设置开机不要启动

[root@sc-mysql opt]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@sc-mysql opt]# systemctl disable firewalld

8、临时关闭selinux

[root@sc-mysql opt]# setenforce 0
setenforce: SELinux is disabled

也可以永久关闭selinux。

sed -i '/^SELINUX=/ s/enforcing/disabled/'  /etc/selinux/config
[root@sc-mysql opt]# sed -i '/^SELINUX=/ s/enforcing/disabled/'  /etc/selinux/config

9、新建存放数据的目录 为:/data/mysql

[root@sc-mysql opt]# mkdir  /data/mysql -p
[root@sc-mysql opt]# ll -d /data/mysql
drwxr-xr-x 2 root root 6 7月  29 11:32 /data/mysql

10、修改/data/mysql目录的权限

修改权限归mysql用户和mysql组所有,这样mysql用户启动的mysql进程可以对这个文件夹进行读写了。只是允许mysql这个用户和mysql组可以访问,其他人都不能访问。

[root@sc-mysql opt]#chown mysql:mysql /data/mysql/
[root@sc-mysql opt]#chmod 750 /data/mysql/

进入/usr/local/mysql/bin目录。

[root@sc-mysql opt]#cd /usr/local/mysql/bin/

11、初始化mysql

--initialize :初始化  ---  basedir:基地 将生成的临时密码重定向到 &>passwd.txt

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>passwd.txt

 一定要记住自己的临时密码:密码为最后一行。

[root@sc-mysql bin]# ./mysqld  --initialize --user=mysql --basedir=/usr/local/mysql/  --datadir=/data/mysql
2022-07-29T03:36:45.934736Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
........
2022-07-29T03:36:47.113350Z 1 [Note] A temporary password is generated for root@localhost: ptogEfkPM8:f

 扩展知识:root@localhost: mysql里的超级用户root只能在本机上登录

比如sc@192.168.2.132 sc这个用户只能在192.168.2.132 sc这台服务器上登录进入mysql

12、让mysql支持ssl方式登录的设置

./mysql_ssl_rsa_setup --datadir=/data/mysql/
[root@sc-mysql bin]# ./mysql_ssl_rsa_setup --datadir=/data/mysql/

13、修改PATH变量

进入mysql bin目录的路径。

临时修改PATH变量的值:

export PATH=/usr/local/mysql/bin/:$PATH
[root@sc-mysql bin]# export PATH=/usr/local/mysql/bin/:$PATH

重新启动linux系统后也生效,永久修改,让root用户也能使用。

[root@sc-mysql bin]# echo  'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc
[root@sc-mysql bin]# pwd
/usr/local/mysql/bin

 14、复制support-files里的mysql.server文件到/etc/init.d/目录下叫mysqld

[root@sc-mysql bin]# cp  ../support-files/mysql.server   /etc/init.d/mysqld

修改/etc/init.d/mysqld脚本文件里的datadir目录的值。

[root@sc-mysql bin]# vim /etc/init.d/mysqld   #手动修改
[root@sc-mysql bin]# sed  -i '70c  datadir=/data/mysql'  /etc/init.d/mysqld  #直接命令修改

15、生成/etc/my.cnf配置文件

[root@sc-mysql bin]# cat  >/etc/my.cnf  <<EOF
> [mysqld_safe]
> 
> [client]
> socket=/data/mysql/mysql.sock
> 
> [mysqld]
> socket=/data/mysql/mysql.sock
> port = 3306
> open_files_limit = 8192
> innodb_buffer_pool_size = 512M
> character-set-server=utf8
> 
> [mysql]
> auto-rehash
> prompt=\\u@\\d \\R:\\m  mysql>
> EOF

 16、修改内核的open file的数量

[root@sc-mysql bin]#ulimit -n 1000000

扩展: ulimit -a 查看内核的open file的数量。

[root@sc-mysql bin]# ulimit -a  查看内核的open file的数量
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3795
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3795
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 17、设置开机启动的时候也配置生效

[root@sc-mysql bin]# echo "ulimit -n 1000000" >>/etc/rc.local
[root@sc-mysql bin]# chmod +x /etc/rc.d/rc.local

 18、将mysqld添加到linux系统里服务管理名单里

/sbin/chkconfig --add mysqld
[root@sc-mysql bin]# chkconfig --add mysqld

19、 设置mysqld服务开机启动

/sbin/chkconfig mysqld on
[root@sc-mysql bin]# chkconfig mysqld on
#新式chkconfig mysql on
#chkconfig --list可以查看
[root@sc-mysql bin]# chkconfig --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。查看在具体 target 启用的服务请执行'systemctl list-dependencies [target]'。mysqld         	0:关	1:关	2:开	3:开	4:开	5:开	6:关
netconsole     	0:关	1:关	2:关	3:关	4:关	5:关	6:关
network        	0:关	1:关	2:开	3:开	4:开	5:开	6:关

 20、启动mysqld进程

service mysqld start
[root@sc-mysql bin]# service mysqld start
Starting MySQL.Logging to '/data/mysql/sc-mysql.err'.SUCCESS! 

查看进程是否启动:

[root@sc-mysql bin]# ps -ef|grep mysql

21、进入mysql,使用刚刚的临时密码

[root@sc-mysql bin]# mysql -uroot -p'ptogEfkPM8:f'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.37

22、进入数据之后修改密码

set password='Sanchuang123#';

修改root用户的密码为Sanchuang123#

root@(none) 11:59  mysql>set password='Sanchuang123#';
Query OK, 0 rows affected (0.00 sec)

 检验上一步修改密码是否成功,如果有输出能看到mysql里的数据库。

root@(none) 12:01  mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

然后使用init 6 重新启动机器,然后使用修改后的密码进行登录,如果成功登录。那就说明密码修改成功:

[root@sc-mysql ~]# mysql -uroot -p'Sanchuang123#'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.37 MySQL Community Server (GPL)

查看数据库中的有哪些数据库:

root@(none) 12:03  mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

如果出现这样就说明安装成功了。

如果觉得在命令行执行命令安装步骤比较多的话,可以通过编写一个脚本来执行安装:

https://gitee.com/angel521/hyrz-student/tree/master/Linux%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6/%E4%B8%80%E9%94%AE%E9%83%A8%E7%BD%B2%E7%B1%BB%E8%84%9A%E6%9C%AC


http://chatgpt.dhexx.cn/article/8sgv7A8R.shtml

相关文章

【安装版】mysql数据库安装指南(超级详细)

电脑是windows&#xff0c;参考下面的安装步骤。 一、下载mysql数据库二、安装mysql &#xff08;双击msi文件&#xff09;二、验证是否安装成功 一、下载mysql数据库 进入MySQL官方网站&#xff08;MySQL Community Downloads&#xff09;&#xff0c;进入下载页面 二、安…

MySQL的安装(详细教程)

文章目录 前言一、概述二、下载三、安装四、卸载五、可能遇到的问题 前言 本文的主要目的是在 Windwos 上安装 MySQL&#xff0c;以下内容是源于 B站 - MySQL数据库入门到精通 整理而来。 如果想要在 Linux 下安装 MySQL &#xff0c;详见 Linux-安装MySQL&#xff08;详细教…

MySQL安装教程(详细)

目录 一、安装准备 1.1 mysql数据库下载 官网在线下载 云盘离线下载 1.2 数据库运行环境下载 二、安装步骤 2.1 开始安装 2.2 选择安装类型 2.3 选择功能 2.4 检测安装环境 2.5 功能安装 2.6 功能安装完成&#xff0c;点击next 2.7 产品配置&#xff0c;点击next …

mysql数据库安装(详细)

安装MySQL MySQL是目前最为流行的开放源码的数据库&#xff0c;是完全网络化的跨平台的关系型数据库系统&#xff0c;它是由瑞典MySQLAB公司开发&#xff0c;目前属于Oracle公司。任何人都能从Internet下载MySQL软件&#xff0c;而无需支付任费用&#xff0c;并且“开放源码”…

树的结点?结点的度?

什么是树的结点&#xff1f;结点的度&#xff1f;

树的概念:层次、高度、深度、宽度

目录 层次 宽度 深度 高度 其中只有层次是树原生的概念&#xff0c;其他都是从树中的结点来的。 层次 从根节点开始算起&#xff0c;根节点算第一层。如图所示的树 第1层&#xff1a;A 第2层&#xff1a;B,C 第3层&#xff1a;D,E,F 第4层&#xff1a;G,H,I 宽度 其…

树的高度,节点的深度和高度

节点深度高度以及树的高度&#xff0c;不同的教材可能定义不同&#xff0c;本文是参考的《数据结构与算法python》第八章201页的定义 文章目录 1 节/结点的深度和高度1.1 深度depth1.2 高度height 2 树的高度3 二叉树知识补充 1 节/结点的深度和高度 1.1 深度depth 假定p是树…

树的高度和深度 | 结点的高度和深度

有个缺点&#xff0c;看到什么东西不管是不是重点只要说不通总是爱钻牛角尖。 对于 树的高度和深度&#xff08;以及结点的高度和深度&#xff09; 看了几本不同的书&#xff0c;都有各自的说法&#xff0c;多方查证吧&#xff0c;花了很多时间&#xff0c;最后归纳一下。(&am…

树的高度,深度,层数,度的辨析与解释

一.高度和深度辨析 关于树的深度和高度的计算&#xff0c;我看到两个不同的说法&#xff0c;它们的区别就在于到底是从0开始计算还是从1开始计算。&#xff08;网上的和算法题偏向说法二&#xff0c;如果有能找到更加权威的解答望不吝赐教&#xff09; 说法一&#xff1a; 《数…

树的节点、度数、高度、深度、遍历

1.节点的度与树的度 节点的度&#xff1a;结点拥有的子树数目称为结点的度&#xff0c;叶子结点 就是度为0的结点 树的度&#xff1a;树内各结点的度的最大值 分支节点&#xff1a;度不为0的节点 -------------------------------------------------- 节点数nn0n1n2&#…

数据结构——树

数据结构笔记目录&#xff1a; 1. 绪论、时间复杂度 2. 线性表 3. 树 4. 图 5. 查找 6. 排序 3.1 树 3.1.2 基本定义 n 个结点的有限集( n ≥ 0 n \ge 0 n≥0 ) 每棵树只有一个根结点其余结点分为 m 个有限集&#xff0c;每个有限集都是树 1. 定义 逻辑结构 一对多 &#…

如何理解数据结构中树的度(树的度是什么意思)?

在数据结构中&#xff0c;树是一对多的存在&#xff0c;如下图是一颗树。 结点拥有的子树个数称为结点的度&#xff0c;比如结点①的度为4&#xff0c;结点②的度为0&#xff0c;结点③的度为3。 对于树而言&#xff0c;树的度为树内各结点最大的度&#xff0c;从图中可知&…

数据结构(二叉树)

1. 二叉树 1.1 完全二叉树 除最后一层外&#xff0c;每一层的节点达到最大值&#xff0c;在最后一层只缺少右边v1若干节点 2. 关于树的三种逻辑算法(如下图) 2.1 树的总节点数等于每层节点数之和&#xff08;计数&#xff09;。 2.2 树的总结点数等于所有不同度数的节点数…

树的度是什么

https://www.zhihu.com/question/294774611 问题 树的节点的度是指节点的子树个数&#xff0c;那树的度是什么? 回答 树节点的度数即为该节点孩子的个数。 这是一棵树&#xff0c;树的度指其中节点的度最大值。 比如1号节点的孩子是2、3、4&#xff0c;则1号节点的度数是…

java 构造函数和super

package one; class book {book(){System.out.println("这是没有参数的父类的构造方法");}book(int i){System.out.println("有参数 父类的构造方法");}public void get(){System.out.println("book父类");}} class dictionary extends book {…

java构造函数使用方法总结

转载自&#xff1a;http://longying2008.iteye.com/blog/1535722 仅用作学习使用 使用构造器时需要记住&#xff1a; 1.构造器必须与类同名&#xff08;如果一个源文件中有多个类&#xff0c;那么构造器必须与公共类同名&#xff09; 2.每个类可以有一个以上的构造器 3.构…

Java 构造函数的详解

我们人出生的时候&#xff0c;有些人一出生之后再起名字的&#xff0c;但是有些人一旦出生就已经起好名字的。那么我们在java里面怎么在对象一旦创建就赋值呢&#xff1f; 1.构造方法的作用&#xff1a; 构造方法作用&#xff1a;对对象进行初始化. 如图&#xff1a; 2.构造函…

java构造函数的调用

一、使用this关键字 构造函数的调用&#xff0c;需要使用this关键字 this(); //调用无参构造函数Food() this(name); //调用有参构造函数Food(String name)作用&#xff1a; 在一个构造函数中调用另一个构造函数&#xff0c;主要是为了增加代码的复用性。 …

java怎么写函数_java构造函数怎么写

java构造函数怎么写 发布时间&#xff1a;2020-06-29 11:50:19 来源&#xff1a;亿速云 阅读&#xff1a;114 作者&#xff1a;Leah java构造函数怎么写&#xff1f;针对这个问题&#xff0c;这篇文章详细介绍了相对应的分析和解答&#xff0c;希望可以帮助更多想解决这个问题的…

java中的构造函数。

我们这篇文章说的是构造函数&#xff0c;那么它与我们平时写的函数有哪些不同呢&#xff1f;有很大的不同了。 特点:1函数名与类名相同 2不用定义返回值类型。 3不可以写return语句。 作用:给对象进行初始化。 注意:1默认构造函数的特点。 2多个构造函数是以重载的形式存在的…