LiangGaRy-学习笔记-Day26

news/2024/10/21 11:55:45/

1、MySQL的概念

1.1、数据

数据:存放到存储服务器

MySQL的无处不见

  • 微博、论坛、新闻、商城等等
  • 图片(/var/www/html/aa.png)–>也是存放到数据库当中

数据应该如何管理?

  • 互联网中常见的数据库
    • MySQL:首选-免费
    • Oracle:银行使用居多–>有技术支持、服务付费
  • 什么地方用到数据库?
    • 微信、定位、收发短信
    • 工作SQL报表
    • 跳槽:sql语句考核
  • 数据形成阶段
    • 绳子记录
    • 然后写到甲骨文上面
    • 然后写到竹子上面
    • 然后到文件系统阶段
      • 磁盘
      • 数据库阶段
      • MySQL

职场事宜:

  • 第一学历:重要–>考学历
  • 运维–>开发人员写好、提供给你、你复制粘贴–>调试–>上线

1.2、MySQL入门

MySQL到底需要学什么?

  • 历史背景、
  • 语法(CRUD、读写锁、事务、数据)、
  • MySQL 的框架、多版本并发控制、存储引擎(InnoDB、MyISAM)等等
  • 学习 MySQL 的工作原理,
  • MySQL 的性能优化,
  • MySQL 故障诊断和服务器问题分析等等。

MySQL资料

  • 《 MySQL8 Cookbook 》 、
  • 《 Effective MySQL: Replication Techniques in Depth 》 、
  • 《 High Performance MySQL 》
  • 《 MySQL Internals Manual 》
  • 《 InnoDB - A journey to the core》
  • 《MySQL Crash Course》。
  • MYSQL必知必会第三版
  • 《MySQL实战》

1.3、数据库的概念

数据是什么?

  • data、资料
  • 数字
  • 文字
  • 图形
  • 图像音频
  • 视频

数据库:db

  • Mysql中创建一个aa的数据

数据管理系统:DBMS

2、MySQL 安装

2.1、安装mysql-5.7

安装CentOS7系统安装MySQL5.7

CentOS7系统默认的是mariadb

  • 安装的环境说明
    • 网络要通–>配上IP
    • 防火墙、selinux要关闭
    • yum源:
#网络ip如下
[root@Node1 ~]# ifconfig ens32 | grep inet | sed -n 1p | awk '{print $2}'
192.168.75.131#关闭防火墙与selinux
[root@Node1 ~]# systemctl stop firewalld
[root@Node1 ~]# setenforce 0#使用本地yum源
[root@Node1 ~]# cat /etc/yum.repos.d/local.repo 
[local-repo]
name=local-repo
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0#挂载光盘
[root@Node1 ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only#清空yum缓存
[root@Node1 ~]# yum clean all#重新生成缓存
[root@Node1 ~]# yum makecache fast
[root@Node1 ~]# yum repolist all#安装wget包
[root@Node1 ~]# yum -y install wget#再添加一个阿里云的包
[root@Node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 清空系统中可能存在的MySQL软件包
#查找系统中相关mysql的包
[root@Node1 ~]# rpm -qa | grep mysql
[root@Node1 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64#卸载包
[root@Node1 ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y#查看一下还有没有其他的
[root@Node1 ~]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql#最后删除两个文件
[root@Node1 ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[root@Node1 ~]# rm -rf /usr/lib64/mysql
  • 准备mysql的源
#直接下载mysql的源
[root@Node1 ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
[root@Node1 ~]# ls mysql57-community-release-el7-9.noarch.rpm 
mysql57-community-release-el7-9.noarch.rpm#安装源
[root@Node1 ~]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm 
  • 直接安装mysql-5.7
[root@Node1 ~]# yum -y install mysql-community-server
  • 安装完成之后
    • 启动mysql
    • 设置开机自启
#启动与设置开机自启
[root@Node1 ~]# systemctl start mysqld
[root@Node1 ~]# systemctl enable mysqld
  • 登陆mysql
    • mysql初次安装的密码存放在安装日志文件当中
    • 需要获取它的密码才能登陆
#获取mysql 安装的密码
[root@Node1 ~]# grep "password"  /var/log/mysqld.log 
2023-07-29T03:24:30.156985Z 1 [Note] A temporary password is generated for root@localhost: yeqtdGoV(3es#使用密码登陆
[root@Node1 ~]# mysql -uroot -p'yeqtdGoV(3es'
...
mysql> 
  • 到这里为止mysql的安装成功;

安装过程报错:

  • 如果安装的过程中出现以下报错
Public key for mysql-community-libs-5.7.42-1.el7.x86_64.rpm is not installedFailing package is: mysql-community-libs-5.7.42-1.el7.x86_64GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysq
  • 解决办法如下:
#可以导入秘钥
[root@Node1 ~]# rpm --import  https://repo.mysql.com/RPM-GPG-KEY-mysql-2022#也可以直接把mysql的源中的gpgcheck=0跳过检测

2.2、MySQL修改密码

登陆mysql后修改密码

#登陆mysql
[root@Node1 ~]# mysql -uroot -p'yeqtdGoV(3es'#修改密码-->这里会报错-->具体看报错解决
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

使用mysqladmin命令进行修改密码

  • 修改配置文件–>更改密码规则
#修改配置文件
[root@Node1 ~]# vim /etc/my.cnf
...........#在[mysqld]中添加
validate_password_policy=0
validate_password_length=1#重启
[root@Node1 ~]# systemctl restart mysqld#修改密码:
[root@Node1 ~]# mysqladmin -uroot -p'123456' password '123123'#登陆
[root@Node1 ~]# mysql -uroot -p'123123'

修改密码遇到的问题

  • 当密码修改成简单的密码出现如下报错
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  • 修改配置文件-然后开放简单密码
#在mysql登陆后,也可以操作开放密码规则
[root@Node1 ~]# mysql -uroot -p'yeqtdGoV(3es'
.......#开始修改密码规则
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1-> ;
Query OK, 0 rows affected (0.00 sec)#然后直接修改密码即可
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

2.3、yum安装mysql8

思路:

  • 下载rpm的包–> mysql8
  • 然后rpm -ivh 安装mysql8的源
  • 然后直接安装
  • 然后查找密码–>登陆

安装如下:

  • 下载好mysql的包
    • MySQL的官网:https://www.mysql.com/
#挂载好本地yum源
[root@Node1 ~]# mount /dev/cdrom /mnt/cdrom/#直接下载wget的命令
[root@Node1 ~]# yum -y install wget#直接下载mysql8的rpm包
[root@Node1 ~]# wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
[root@Node1 ~]# ls mysql80-community-release-el7-1.noarch.rpm 
mysql80-community-release-el7-1.noarch.rpm
  • 安装mysql8的源
    • 最好是修改一下源–>gpgcheck=0
#安装好源
[root@Node1 ~]# rpm -ivh mysql80-community-release-el7-1.noarch.rpm 
[root@Node1 ~]# ls /etc/yum.repos.d/
bak  local.repo  mysql-community.repo  mysql-community-source.repo#修改源
[root@Node1 ~]# sed -i 's#gpgcheck=1#gpgcheck=0#g' /etc/yum.repos.d/mysql-community.repo 
  • 然后直接安装登陆完成操作
    • 安装:yum直接装
    • 登陆要看一下密码
#直接yum安装
[root@Node1 ~]# yum -y install mysql-community-server#启动mysql
[root@Node1 ~]# systemctl start mysqld#查找登陆密码
[root@Node1 ~]# grep 'password' /var/log/mysqld.log 
2023-07-29T06:39:45.018566Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: p5b(S%1aa3mi#登陆
[root@Node1 ~]# mysql -uroot -p'p5b(S%1aa3mi'mysql> 
  • 到这里已经安装完成

2.4、rocky安装mysql8

安装rocky系统

  • 创建虚拟机–>下一步下一步–>创建一个环境
  • 挂载镜像–>然后安装系统
  • 系统使用图形化

rocky安装mysql8

思路:

  • 更新yum源
  • 然后直接安装
#把rocky的源都升级了
[root@rocky-01 ~]# dnf upgrade --refresh -y 
[root@rocky-01 ~]# dnf update -y#然后直接安装
[root@rocky-01 ~]# yum -y install mysql-server 
  • rocky系统安装好了之后不用初始化
    • 可以直接启动mysql登陆
    • 可以直接登录
#启动服务
[root@rocky-01 ~]# systemctl start mysqld#直接登录
[root@rocky-01 ~]# mysql
......
mysql> 

几个简单的mysql的操作

  • 创建本地登陆的密码
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
  • 允许用户root登陆
  • 授权用户
#创建一个用户允许任何IP登陆;
mysql> create user root@'%' identified by '123456';
Query OK, 0 rows affected (0.14 sec)#授权用户
mysql> grant all privileges on *.* to root@'%';
Query OK, 0 rows affected (0.00 sec)#刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)#查看一下mysql.user表格
mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.01 sec)
  • 创建一个普通的用户,并且授权
#创建liangjiawei用户,允许任何IP访问
mysql> create user liangjiawei@'%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)#创建数据库
mysql> create database LJW;
Query OK, 1 row affected (0.00 sec)#创建一个表格-->表格中只有一个字段
mysql> create table liangjiawei(name int(20));
Query OK, 0 rows affected, 1 warning (0.01 sec)#授权给liangjiawei用户
mysql> grant select on liangjiawei to liangjiawei@'%';
Query OK, 0 rows affected (0.00 sec)#再次查看一下权限
mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| liangjiawei      | %         |
| root             | %         |
...............

2.5、二进制安装mysql

  • 准备好mysql的二进制的包
  • 修改系统的环境变量
  • 然后初始化mysql
#准备好二进制的包
[root@Node1 ~]# ls mysql-8.0.28-el7-x86_64.tar.gz 
mysql-8.0.28-el7-x86_64.tar.gz#解压
[root@Node1 ~]# tar -xf mysql-8.0.28-el7-x86_64.tar.gz #把它移动到/usr/local/目录下
[root@Node1 ~]# mv mysql-8.0.28-el7-x86_64 /usr/local/mysqld#创建mysql用户
[root@Node1 ~]# useradd  mysql#修改文件的属主
[root@Node1 ~]# chown mysql.mysql /usr/local/mysqld/ -R#修改环境变量
[root@Node1 ~]# cat >> /etc/profile << EOF
> export MYSQL_HOME=/usr/local/mysqld
> export PATH=$MYSQL_HOME/bin:$PATH
> EOF#重新读取文件
[root@Node1 ~]# source  /etc/profile#初始化mysql
[root@Node1 ~]# /usr/local/mysqld/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysqld --datadir=/usr/local/mysqld/data
  • 到这里安装完成

http://www.ppmy.cn/news/665319.html

相关文章

django-vue-admin ubuntu 20.04 环境准备 记录

django-vue-admin 运行记录 https://django-vue-admin.com/document/hjbs.html https://django-vue-admin.com/document/hjbs.html https://bbs.django-vue-admin.com/article/9.html https://gitee.com/liqianglog/django-vue-admin/tree/demo_project 1. 安装 ubuntu-20.04…

win7的开机启动项怎么管理 win7管理开启启动项的方法

win7纯净版系统很多软件都默认设置为开机启动项&#xff0c;随着安装的程序越来越多&#xff0c;可能添加的开机启动项越来越多&#xff0c;这样就拖慢系统运行速度。减少开机启动项可以加快开机速度&#xff0c;所以我们需要管理好开机启动项&#xff0c;关闭不必要的开机启动…

管理win7开机启动项

步骤&#xff1a;1.winR&#xff0c;弹出运行面板&#xff0c;输入msconfig,点击确定。 2.点击启动&#xff0c;进入任务管理器&#xff0c;启用和禁用开机项&#xff0c;重启计算机后生效。

windows 7编辑启动选项

问题&#xff1a;开机之后&#xff0c;提示编辑启动选项&#xff1a; “路径&#xff1a;\windows\system32\winload.exe 分区&#xff1a;1 硬盘&#xff1a;f3c3f39 [ /NOEXECUTEOPTIN]” &#xff08;如图&#xff09; 解决步骤&#xff1a; 1、按回车键&#xff0c;进入操作…

win7中如何添加快速启动栏?

1. 右击“任务栏”→ 选择“工具栏”→ 选择“新建工具栏” 2. 在“文件夹”路径中填入%appdata%\Microsoft\Internet Explorer\Quick Launch并单点“选择文件夹” 3. 解除任务栏的锁定状态&#xff0c;并将“Quick Lanunch&#xff08;快速启动栏&#xff09;”移动到左侧 然后…

计算机win7如何加快开机速度,win7快速开机到八秒,怎么加快win7开机速度

【导读】现在计算机的发展越来越快&#xff0c;由原来的台式机逐步的进化到了笔记本&#xff0c;甚至是一体机。 发展之迅速可以说是令人赞叹。 与此同时&#xff0c;这个软件也在不断地更新中。 微软研发出了win7操作系统&#xff0c;以前辉煌一时的windowsxp系统已经逐渐的退…

win7电脑如何提升开机速度?

Win7系统使用久后,安装的软件就会越来越多,慢慢地很多用户就会发现电脑的速度变慢了&#xff0c;那么win7电脑怎么提升开机速度呢? 下面微点阅读小编就为大家带来了win7电脑提升开机速度的方法。 win7电脑提升开机速度方法 1、在桌面上按组合键(win键R)打开运行窗口&#xff…

win7启动过程

1、开启电源——     计算机系统将进行加电自检(POST)。如果通过&#xff0c;之后BIOS会读取主引导记录(MBR)——被标记为启动设备的硬盘的首扇区&#xff0c;并传送被Windows 7建立的控制编码给MBR。     ——这时&#xff0c;Windows接管启动过程。接下来&#x…