首页 > 数据库 >MySql安装与使用

MySql安装与使用

时间:2023-10-21 15:38:30浏览次数:37  
标签:安装 使用 MySql local mysql MySQL server root zutuanxue

mysql是目前最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

MySQL是非常灵活的一款数据库,虽然它不是绝对完美,但它的灵活足够适应很多高要求的环境。为了发挥MySQL的性能并很好的使用它,我们就得先了解其设计。MySQL的灵活主要体现在我们可以通过不同的配置使他在不同的硬件上都能运行的很好。但是MySQL最重要,与众不同的特性是它的存储引擎架构,这种架构将查询处理及其他系统任务和数据的存储/提取相分离。

一、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/

image20200223135527926.png

点击“Download”后,我们要先登录Oracle,才能进行下载。

2、mysql安装

2.1、指定安装文件位置

将mysql安装包放到/usr/local/下面

image20200223011252870.png

2.2、解压

[root@zutuanxue local]# xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 
[root@zutuanxue local]# tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar 

2.3、改名

[root@zutuanxue local]# mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql

2.4、创建用户组

mysql用户组、mysql用户

[root@zutuanxue local]# groupadd mysql
[root@zutuanxue local]# useradd -r -g mysql mysql
[root@zutuanxue 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@zutuanxue mysql]# mkdir data

2.7、更改mysql目录权限

[root@zutuanxue mysql]# chown -R mysql .
[root@zutuanxue mysql]# chgrp -R mysql .

image20200223012815486.png

2.8、初始化数据库

[root@zutuanxue mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

执行完后查看初始密码:

[root@zutuanxue mysql]# vim /usr/local/mysql/data/error.log

image20200223013228179.png

image20200223182708100.png

2.9、启动mysql服务

[root@zutuanxue mysql]# ./support-files/mysql.server start
Starting MySQL... SUCCESS! 

2.10、修改root密码

[root@zutuanxue mysql]# ./bin/mysql -uroot -prj%-:yqHb98g

image20200223014851493.png

修改密码:

mysql> alter user 'root'@'localhost' identified by 'Root123456';
Query OK, 0 rows affected (0.05 sec)

3、mysql操作

3.1、服务器操作

启动、停止、重启

[root@zutuanxue mysql]# ./support-files/mysql.server restart
Shutting down MySQL. SUCCESS! 
Starting MySQL.. SUCCESS! 
[root@zutuanxue mysql]# ./support-files/mysql.server stop
Shutting down MySQL.. SUCCESS! 
[root@zutuanxue 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@zutuanxue mysql]# systemctl stop firewalld.service 
[root@zutuanxue mysql]# firewall-cmd --state

4、mysql卸载

4.1、停止mysql服务

[root@zutuanxue mysql]# ./support-files/mysql.server stop
Shutting down MySQL.... SUCCESS! 

4.2、查找所有mysql相关文件夹

查找

[root@zutuanxue mysql]# find / -name mysql

image20200223024128126.png

删除所有查出来的文件夹

[root@zutuanxue mysql]# rm -rf /var/lib/selinux/targeted/active/modules/100/mysql
......

4.3、删除配置文件

配置文件一般有/etc/my.cnf 或/etc/init.d/mysql.server,

[root@zutuanxue mysql]# rm -f /etc/my.cnf
[root@zutuanxue mysql]# rm -rf /etc/init.d/mysql.server

4.4、删除用户组

[root@zutuanxue mysql]# userdel mysql
[root@zutuanxue mysql]# id mysql
id: “mysql”:无此用户

标签:安装,使用,MySql,local,mysql,MySQL,server,root,zutuanxue
From: https://www.cnblogs.com/yihr/p/17779029.html

相关文章

  • MySQL常用函数
    MySQL函数,是一种控制流程函数,属于数据库用语言。MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。一、数学函数1.1、函数概述MySQL函数是MySQL......
  • MySQL多主模型实战
    MySQLAB解决了数据备份的问题,但是当A由于某些原因宕机后,WEB服务器就没有办法在往数据库写或者读写了。线上业务中断了,完了,出事故了。这该怎么办呢?本节课主要给大家讲解如果处理因为MySQL主服务器宕机造成的业务中断问题,保障MySQL业务高可用。一、实验拓扑图二、架构原理1、M......
  • MySQL子查询
    在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。当获得一个查询的答案需要多个步骤的操作,首先必须创建一个查询来确定用户不知道但包含在数据库中的值,将一个查询块嵌套在另一个查询块的WHERE字句或HAVING短语的条件中查询块称为子查询或内层查询。上层的查询块曾为父查询或......
  • 8.3 C++ 定义并使用类
    C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存......
  • MySQL约束
    约束是按照约定(特定)条件限制,管束等意思。约束的作用是添加、删除。在数据库中对表中的数据进行限制,保证数据的正确性、有效性和完整性。一个表如果添加了约束,不正确的数据将无法插入到表中。约束在创建表的时候添加比较合适。一、约束概述1.1、什么是约束约束用于限制加入表的......
  • SQL语句的基本使用5-多值子查询
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13061这个作业的目标<SQL语句的基本使用5-多值子查询>1.在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生......
  • 8.3 C++ 定义并使用类
    C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存......
  • Linux终端的使用
    一、终端的作用要了解终端,就要了解一下计算机方面的历史,早期的计算机都属于大中型计算机,是个庞然大物,占用很大的空间,属于公用产品。不像现在的电脑,可以人手一部,直接操作。那如何对这些计算机进行控制与操作呢。那就搞个终端设备来操作。因此一台计算机上有很多种不同的终端设备也......
  • Carla Docker 安装
    CARLAinDocker-CARLASimulatorInstallDockerEngineonUbuntu|DockerDocumentationsudousermod-aGdockervipusernewgrpdocker0.miniconda安装wgethttps://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shsudochmod+xMiniconda3-lat......
  • go mod tidy总是安装最新依赖,如何查找哪个模块导致某个包安装最新依赖,提供一个小工具
    安装:goinstallgithub.com/jan-bar/interesting/findModVer@latest执行:findModVerd:\myproject结果如下图所示:根据结果可以找到哪个依赖导致google.golang.org/grpcv1.45.0使用了这个版本,这样每次执行gomodtidy会自动修改该模块到v1.45.0版本。我看了下github.com/spf1......