MySql安装与使用
itomcoil 2025-05-16 13:57 13 浏览
介绍
mysql是目前最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
MySQL是非常灵活的一款数据库,虽然它不是绝对完美,但它的灵活足够适应很多高要求的环境。为了发挥MySQL的性能并很好的使用它,我们就得先了解其设计。MySQL的灵活主要体现在我们可以通过不同的配置使他在不同的硬件上都能运行的很好。但是MySQL最重要,与种不同的特性是它的存储引擎架构,这种架构将查询处理及其他系统任务和数据的存储/提取相分离。
1、mysql概述
1.1、关系型数据库
关系型数据库天然就是二维表格,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。
1.2、MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
MySQL可将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内,从而加快了访问速度并提高了灵活性。
MySQL 使用了标准的 SQL 语言形式。支持大型的数据库,可以处理拥有上千万条记录的大型数据库。MySQL 还可用于多种系统中,且支持多种语言。
1.3、RDBMS术语
数据库:数据库是一些关联表的集合。
数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列:一列(数据元素)包含了相同的数据,例如邮政编码的数据。
行:一行(=元组,或者记录)是一组相关的数据,例如一条用户订阅的数据。
亢余:存储两倍数据,亢余降低了性能,但是提高了数据的安全性。
主键:主键是唯一的,一个数据表中只能够包含一个主键,你可以使用主键来查询数据。
外键:外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或者多列的值进行排序的一种结构。类似于书籍的目录。
1.4、mysql下载
https://dev.mysql.com/downloads/mysql/
点击“Download”后,我们要先登录Oracle,才能进行下载。
2、mysql安装
2.1、指定安装文件位置
将mysql安装包放到/usr/local/下面
2.2、解压
[root@localhost local]# xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
[root@localhost local]# tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar
2.3、改名
[root@localhost local]# mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql
2.4、创建用户组
mysql用户组、mysql用户
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd -r -g mysql mysql
[root@localhost local]# passwd mysql
#更改密码:Ww1985929wW
2.5、修改MySQL配置文件
/etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
# server_id = .....
socket = /tmp/mysql.sock
character-set-server = utf8
skip-name-resolve
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2.6、创建data文件夹
data文件夹是用于存储数据库文件,他的位置是在mysql目录下
[root@localhost mysql]# mkdir data
2.7、更改mysql目录权限
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
2.8、初始化数据库
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
执行完后查看初始密码:
[root@localhost mysql]# vim /usr/local/mysql/data/error.log
2.9、启动mysql服务
[root@localhost mysql]# ./support-files/mysql.server start
Starting MySQL... SUCCESS!
2.10、修改root密码
[root@localhost mysql]# ./bin/mysql -uroot -prj%-:yqHb98g
修改密码:
mysql> alter user 'root'@'localhost' identified by 'Root123456';
Query OK, 0 rows affected (0.05 sec)
3、mysql操作
3.1、服务器操作
启动、停止、重启
[root@localhost mysql]# ./support-files/mysql.server restart
Shutting down MySQL. SUCCESS!
Starting MySQL.. SUCCESS!
[root@localhost mysql]# ./support-files/mysql.server stop
Shutting down MySQL.. SUCCESS!
[root@localhost mysql]# ./support-files/mysql.server start
Starting MySQL.. SUCCESS!
3.2、设置远程连接
mysql> create user 'root'@'%' identified with mysql_native_password by 'Root123456';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all on *.* to 'root'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
遇到问题:
Can't connect to MySQL server on '192.168.1.121' (61)
[root@localhost mysql]# systemctl stop firewalld.service
[root@localhost mysql]# firewall-cmd --state
4、mysql卸载
4.1、停止mysql服务
[root@localhost mysql]# ./support-files/mysql.server stop
Shutting down MySQL.... SUCCESS!
4.2、查找所有mysql相关文件夹
查找
[root@localhost mysql]# find / -name mysql
删除所有查出来的文件夹
[root@localhost mysql]# rm -rf /var/lib/selinux/targeted/active/modules/100/mysql
......
4.3、删除配置文件
配置文件一般有/etc/my.cnf 或/etc/init.d/mysql.server,
[root@localhost mysql]# rm -f /etc/my.cnf
[root@localhost mysql]# rm -rf /etc/init.d/mysql.server
4.4、删除用户组
[root@localhost mysql]# userdel mysql
[root@localhost mysql]# id mysql
id: “mysql”:无此用户
相关推荐
- Python中class对象/属性/方法/继承/多态/魔法方法详解
-
一、基础入门:认识类和对象1.类和对象的概念在Python中,类(class)是一种抽象的概念,用于定义对象的属性和行为,而对象(也称为实例)则是类的具体表现。比如,“汽车”可以是一个类,它有...
- 30天学会Python编程:6. Python函数编程
-
6.1函数基础6.1.1函数定义与调用函数定义语法:deffunction_name(parameters):"""文档字符串(可选)""...
- Python 网络编程完全指南:从零开始掌握 Socket 和网络工具
-
Python网络编程完全指南:从零开始掌握Socket和网络工具在现代应用开发中,网络编程是不可或缺的技能。Python提供了一系列高效的工具和库来处理网络通信、数据传输和协议操作。本指南将从...
- 25-1-Python网络编程-基础概念(python网络编程作用)
-
1-网络编程基础概念1-1-基本概念1-2-OSI七层网络模型OSI(开放系统互联)七层网络模型是国际标准化组织(ISO)提出的网络通信分层架构,用于描述计算机网络中数据传输的过程。1-2-1-OSI...
- 从代码小白到自动化大师:Python 编程实战
-
昨天我聊了一下关于线性代数、概率统计、微积分核心概念的学习,也花了一些时间恢复一下大学时候学这些的记忆,确实来说数学很有趣也很考验人,兴趣是最好的老师对吧,既然对AI感兴趣,总要认真的学一学,接下来我...
- Python元组编程指导教程(python元组用来做什么)
-
1.元组基础概念1.1什么是元组元组(Tuple)是Python中一种不可变的序列类型,用于存储多个有序的元素。元组与列表(list)类似,但元组一旦创建就不能修改(不可变),这使得元组在某些场景...
- 小学生Python编程入门-2.第一个Python程序
-
第一阶段:编程初体验第2章:第一个Python程序目标:像指挥魔法小精灵一样,用代码让电脑“说话”和画画!本章将带你认识Python的魔法书(IDLE),学会用print()召唤文字,还能指挥小海龟画...
- TOML 新手完全指南:Python 开发者的入门手册
-
一、初识TOML:为什么选择它?1.1配置文件的常见难题作为Python开发者,您可能遇到过这些情况:在JSON中添加注释会报错YAML的缩进错误导致整个配置失效INI文件无法表示复杂...
- 小学生Python编程入门-5.输入与输出
-
第二阶段:基础语法第5章:输入与输出目标:像使用魔法传声筒和镜子一样,学会让电脑听你的话(输入)和展示结果(输出),成为人机交互小能手!5.1input()的使用与类型转换魔法目标:用“魔法传声筒”...
- 30天学会Python编程:2. Python基础语法结构
-
2.1代码结构与缩进规则定义与原理Python使用缩进作为代码块的分界符,这是Python最显著的特征之一。不同于其他语言使用大括号{},Python强制使用缩进来表示代码层次结构。特性与规范缩进量...
- 25-3-Python网络编程-UDP 编程示例和HTTP协议
-
3-UDP编程示例3-1-语法当使用套接字应用传输层的UDP协议建立服务器与客户端程序时,整个实现过程要比使用TCP协议简单一点。基于UDP协议的服务器与客户端在进行数据传送时,不是先建立连接,而是...
- 小学生Python编程入门-10.函数与海龟编程
-
第三阶段:海龟编程专题第10章:函数与海龟编程目标:像指挥魔法小海龟的“咒语库”一样,用函数封装绘图指令,让代码更简洁高效!本章将教你用函数和参数设计个性化图形,成为代码复用小达人!10.1封装绘图...
- 25-2-Python网络编程-TCP 编程示例
-
2-TCP编程示例应用程序通常通过“套接字”(socket)向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通信。Python语言提供了两种访问网络服务的功能。其中低级别的网络服...
- Python一键打包为windows的exe文件,无需安装python环境即可执行
-
一、为什么要将Python打包为exe?在实际应用中,我们希望Python程序能在没有安装Python环境的电脑上直接运行。将Python代码打包为exe可执行文件,不仅能解决环境依赖问题,还便于程...
- 介绍脱离PC机执行uiautomator2脚本
-
前面介绍过了pythonuiautomator2的大概情况,今天主要介绍一下怎么在脱离PC机的情况下执行uiautomator2的脚本。现在说pythonuiautomator2的脚本怎么脱机执行...
- 一周热门
- 最近发表
- 标签列表
-
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)
- shutil.copy() (33)