我的创作纪念日-----MySql服务

MySql服务

1.什么是数据库

1.1.数据

        描述事物的符号记录,可以是数字文字、图形、图像、声音、语言等,数据有多种形式,它们都可以经过数字化后存入计算机。

1.2.数据库

        存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,具有较小的几余度,较高的独立性和易扩展性,并为各种用户共享,总结为以下几点:
        数据结构化
        数据的共享性高,冗余度低,易扩充
        数据独立性高
        数据由 DBMS统一管理和控制 (安全性、完整性、并发控制、故障恢复)

2.mysql概述

        MySQL是一个小型关系数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被sun公司10亿美金收购。2009年,SUN又被Oracle以74亿美金收购

        目前MySQL被广泛地应用在Internet上的中小型网站中。由于体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

我的创作纪念日-----MySql服务_第1张图片

3.MySQL安装

方法一:yum源

        下载使用MySQL自己的yum源

在windows端操作:

        MySQL数据库存在多种版本,不同的版本在不同的平台上: 

第一步:登陆    https://www.mysql.com    网站,访问DOWNLOADS界面

我的创作纪念日-----MySql服务_第2张图片

第二步: 下拉界面找到    MySQL Community (GPL) Downloads选项   点击确认     

我的创作纪念日-----MySql服务_第3张图片

第三步:找到MySQL专属的yum仓库。点击进入。

我的创作纪念日-----MySql服务_第4张图片

第四步:由于此时我们使用的时Linux9版本,因此锁定图中选项, Download  点击确认

我的创作纪念日-----MySql服务_第5张图片

第五步:然后找到如图中选项,鼠标右击,选择复制链接:

https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm

我的创作纪念日-----MySql服务_第6张图片

在Linux端操作:

第六步:进入Linux命令窗口输入wget   链接   然后回车

[root@server ~]# wget https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm
我的创作纪念日-----MySql服务_第7张图片

输入[root@server ~]# ls  确认是否完成下载

注意:mysql80-community-release-el9-5.noarch.rpm    是MySQL的yum源仓库并非MySQL安装包

第七步:rpm安装MySQLyum仓库

[root@server ~]# rpm -ivh mysql80-community-release-el9-5.noarch.rpm 

在yum仓库中过滤以下看MySQL是否存在

[root@server ~]# yum list | grep mysql   
我的创作纪念日-----MySql服务_第8张图片注意:图中mysql-community-server.x86_64 就是我们所需要的MySQL数据包名——来源为mysql  yum 仓库      

输入以下命令开始安装

[root@server ~]#   yum install mysql-community-server.x86_64  -y
我的创作纪念日-----MySql服务_第9张图片

第八步:后续配置

[root@server ~]# systemctl  start mysqld                # 启动
[root@server ~]# systemctl enable  mysqld            # 开机启动
[root@server ~]# systemctl status  mysqld             #  查看状态

我的创作纪念日-----MySql服务_第10张图片

登陆MySQL

第一步:密码查找

由于MySQL登陆默认需要密码,一般密码在日志文件中可以查看,因此:

[root@server ~]# vim /var/log/mysqld.log    查看密码为   #  +t!#lqdkf0%L

我的创作纪念日-----MySql服务_第11张图片

或者利用命令直接过滤:

[root@server ~]# grep 'temporary password' /var/log/mysqld.log 
2023-11-26T06:09:47.349189Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: +t!#lqdkf0%L

第二步:登陆

[root@server ~]# mysql -uroot -p
Enter password:                               #  在此处直接粘贴密码   +t!#lqdkf0%L     

                        注意:密码不回显 。因此粘贴后直接回车

我们还可以使用

        [root@server ~]# mysql -uroot -p+t!#lqdkf0%L进行登录

我的创作纪念日-----MySql服务_第12张图片

注意:但此时我们还需要对密码进行重置,才能进行后续操作,否则就会提示报错

因此我们接下来对密码进行重置。

第三步:重置密码

输入命令:

        mysql> alter user 'root'@'localhost'  identified by 'Admin123!';

命令简析:

        修改  账户  ‘管理员登录时所使用’@‘登录方式:本地登陆’    设置新的密码   ‘Admin123!’;  

查看密码制定规则:

        mysql> show variables like 'validate_password.%';

  mysql> show variables like 'validate_password.%';  
 # 解析:  查看  变量   用于匹配 'validate_password.%';  % :任意结尾
+-------------------------------------------------+--------+
| Variable_name                                   | Value  |
+-------------------------------------------------+--------+
| validate_password.changed_characters_percentage | 0      |
| validate_password.check_user_name               | ON     |
| validate_password.dictionary_file               |        |
| validate_password.length                        | 8      |   # 密码长度  8为
| validate_password.mixed_case_count              | 1      |   # 包含大小写个数
| validate_password.number_count                  | 1      |   # 包含数字个数
| validate_password.policy                        | MEDIUM |   # 密码验证等级:中级
| validate_password.special_char_count            | 1      |   # 包含的特殊字符个数
+-------------------------------------------------+--------+
8 rows in set (0.04 sec)

修改密码等级以及密码位数:

        mysql> set global validate_password.policy=low;

        mysql> set global validate_password.length=6;
我的创作纪念日-----MySql服务_第13张图片

此时我们在对密码进行修改:

mysql> alter user 'root'@'localhost' identified by '123456';

第四步:测试

我们退出,然后使用新设置的密码进行登录

mysql> exit
Bye
[root@server ~]# mysql -uroot -p
Enter password: 
我的创作纪念日-----MySql服务_第14张图片

此时我们就可以开始执行其他命令了

        mysql> show databases;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.02 sec)

查看MySQL服务的端口

        mysql> show global variables like 'port';
我的创作纪念日-----MySql服务_第15张图片

方法二:RPM捆绑包

下载安装RPM捆绑包:

        利用MySQL的RPM捆绑包下载安装。

在windows端操作:

第一步:登陆    https://www.mysql.com    网站,访问DOWNLOADS界面

我的创作纪念日-----MySql服务_第16张图片

第二步: 下拉界面找到    MySQL Community (GPL) Downloads选项   点击确认     

我的创作纪念日-----MySql服务_第17张图片

第三步:找到MySQL Community Server点击进入。

我的创作纪念日-----MySql服务_第18张图片

第四步:找到MySQL对应的RPM捆绑包,然后点击确认;

        注:在此之前,应先选择对应的操作系统,以便后续网页给出对应的MySQL的RPM捆绑包

我的创作纪念日-----MySql服务_第19张图片

第五步: 复制对应的链接,然后在迅雷下载安装包

我的创作纪念日-----MySql服务_第20张图片

第六步:

        利用Xftp将下载好的RPM捆绑包,上传到Linux的根目录下

在Linux端操作:

第七步:

        解压缩:[root@server /]# tar -xvf mysql-8.2.0-1.el9.x86_64.rpm-bundle.tar 

我的创作纪念日-----MySql服务_第21张图片

第八步:

        由于该安装包为捆绑包,因此需要一次性将其全部安装。因此我们使用联合安装

        联合安装:

        确认所需安装的安装包

                mysql-community-server-8.2.0-1.el9.x86_64.rpm                  # 服务端安装包

                mysql-community-client-8.2.0-1.el9.x86_64.rpm    # 客户端安装包不安装会无法登录

                mysql-community-common-8.2.0-1.el9.x86_64.rpm  # 公共库

                mysql-community-icu-data-files-8.2.0-1.el9.x86_64.rpm  # 支持正则的文件库

                mysql-community-client-plugins-8.2.0-1.el9.x86_64.rpm  #  客户端的插件

                mysql-community-libs-8.2.0-1.el9.x86_64.rpm    # 用于支持开发有关C++的,(选择性安装)

[root@server /]# yum localinstall  mysql-community-server-8.2.0-1.el9.x86_64.rpm \
> mysql-community-client-8.2.0-1.el9.x86_64.rpm \
> mysql-community-common-8.2.0-1.el9.x86_64.rpm \
> mysql-community-icu-data-files-8.2.0-1.el9.x86_64.rpm \
> mysql-community-client-plugins-8.2.0-1.el9.x86_64.rpm \
> mysql-community-libs-8.2.0-1.el9.x86_64.rpm      #   由于命令太长因此我们使用"\"分行写

[root@server /]# yum localinstall  mysql-community-server-8.2.0-1.el9.x86_64.rpm \
> mysql-community-client-8.2.0-1.el9.x86_64.rpm \
> mysql-community-common-8.2.0-1.el9.x86_64.rpm \
> mysql-community-icu-data-files-8.2.0-1.el9.x86_64.rpm \
> mysql-community-client-plugins-8.2.0-1.el9.x86_64.rpm \
> mysql-community-libs-8.2.0-1.el9.x86_64.rpm 

我的创作纪念日-----MySql服务_第22张图片

第九步:

        启动服务    [root@server ~]# systemctl  start  mysqld

查询密码,寻找默认密码

[root@server ~]# grep 'temporary password' /var/log/mysqld.log 
2023-11-27T07:34:38.790719Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: yY)g%s%J,9;J
[root@server ~]# mysql -uroot -p 
Enter password:        #   注意:密码不回显 。输入密码后直接回车

 第十步:重置密码

输入命令:

        mysql> alter user 'root'@'localhost'  identified by 'Admin123!';

命令简析:

        修改  账户  ‘管理员登录时所使用’@‘登录方式:本地登陆’    设置新的密码   ‘Admin123!’;  

使用命令 exit 退出然后重新登陆

方法三:通用二进制包

        生产环境中使用通用二进制包安装

 在windows端操作:

第一步:登陆    https://www.mysql.com    网站,访问DOWNLOADS界面

我的创作纪念日-----MySql服务_第23张图片

第二步: 下拉界面找到    MySQL Community (GPL) Downloads选项   点击确认     

我的创作纪念日-----MySql服务_第24张图片

第三步:找到MySQL Community Server点击进入。

我的创作纪念日-----MySql服务_第25张图片

 第四步:

下载二进制通用安装包:

按照图片调出对应的二进制通用安装包选项,点击确认

我的创作纪念日-----MySql服务_第26张图片

单击鼠标输入安装包所需条件及版本号等, 左键直接下载下载。

我的创作纪念日-----MySql服务_第27张图片

在Linux端操作:

第五步:使用Xftp将其上传至Linux

我的创作纪念日-----MySql服务_第28张图片        

在根目录下解压

[root@server /]# tar -xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar 

#  解压后会显示三个压缩包
mysql-test-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz
mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz              # 安装包必须安装
mysql-router-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz

继续解压:

        [root@server /]# tar -xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz 

绿色版MySQL:

        解压完成后会出现   mysql-8.0.33-linux-glibc2.17-x86_64-minimal 这一文件,此时MySQL已经可以运行。但运行效果不佳,因此执行以下操作。

我的创作纪念日-----MySql服务_第29张图片

第六步:

首先将其移动默认安装文件的路径,

[root@server /]# mv mysql-8.0.33-linux-glibc2.17-x86_64-minimal  /usr/local/mysql

[root@server mysql]# groupadd  mysql
[root@server mysql]# useradd     -r     -g     mysql    -s     /bin/false/     mysql
 # 命令含义,创建一个账户mysql;   -g :将其加入到mysql工作组中 

                         -s:该账户所使用的shell存放在/bin/false下(意思为不能登陆)

创建一个目录来存放Mysql所使用的数据文件                                                                                            [root@server mysql]# mkdir mysql-files
        [root@server mysql]# chown mysql:mysql mysql-files/                # 为文件配置工作组
        [root@server mysql]# chmod  750 mysql-files/                            # 设置文件所使用的权限
我的创作纪念日-----MySql服务_第30张图片

 第七步:对软件进行初始化

         [root@server mysql]# bin/mysqld --initialize --user=mysql                

                                                                        # 产生的初始密码为:  b.elap7pJ+9V

设置支持安全通道传输

        [root@server mysql]# bin/mysql_ssl_rsa_setup 
        [root@server mysql]# bin/mysqld_safe --user=mysql &                        # 启动mysql

        ​​​​# 调用文件脚本bin/mysqld_safe       执行账户为mysql      后台执行:&

        # bin/mysqld_safe​​​​​​​:为执行脚本文件

        # bin/mysql:为登陆脚本文件

第八步:

由于二进制通用安装包为绿色软件,因此需要在一个会话链接中开启进程,在另一个会话中登陆

        使用Xshell在开启一个终端,执行以下命令(原因:现所在的终端正在后台运行MySQL因此无法进行其他输入) 

输入 [root@server mysql]# ps -ef |grep mysql
查看是否有正在运行的MySQL进程                                                                                                                                   ​​​​​​​

进入文件/usr/local/mysql/登陆MySQL

[root@server mysql]# cd /usr/local/mysql/

调用脚本进行MySQL的登陆:                                                                                                         

[root@server mysql]# bin/mysql -uroot -p                        # 会产生报错
bin/mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

[root@server mysql]# find /  -name 'libncurses*'
/usr/lib64/libncurses.so.6
/usr/lib64/libncurses.so.6.2
/usr/lib64/libncursesw.so.6
/usr/lib64/libncursesw.so.6.2

[root@server mysql]# ln -s /usr/lib64/libncurses.so.6.2 /usr/lib64/libncurses.so.5

[root@server mysql]# bin/mysql -uroot -p
bin/mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
[root@server mysql]# find / -name "libtinfo*"
/usr/lib64/libtinfo.so.6
/usr/lib64/libtinfo.so.6.2
[root@server mysql]# ln -s /usr/lib64/libtinfo.so.6.2 /usr/lib64/libtinfo.so.5
[root@server mysql]# bin/mysql -uroot -p
Enter password: 
    

mysql>  alter user 'root'@'localhost'  identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;                                                # 刷新,
Query OK, 0 rows affected (0.01 sec)

你可能感兴趣的:(Linux,mysql,数据库)