当前位置:   article > 正文

【MySQL】MySQL在Linux中的环境安装与基本使用_mysql linux

mysql linux


需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云<--/-->阿里云<--/-->华为云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。


 目录

一、MySQL环境的安装

1、MySQL环境安装

2、安装MySQL出现的问题

3、登录MySQl

3.1方案一

3.2方案二 

4、修改MySQL配置文件

5、可选设置:开机自启动MySQL(云服务器没事一般不会关机)

二、MySQL数据库基础

1、一些概念

2、基本使用

2.1显示当前 MySQL 实例中所有的数据库列表

2.2创建数据库

2.3使用数据库

2.4创建数据库表 

2.5在表中插入数据

2.6在表中查询数据 

3、SQL的分类 

4、存储引擎


一、MySQL环境的安装

1、MySQL环境安装

  1. #打印当前机器的Linux版本
  2. [root@VM-4-11-centos ~]# cat /etc/redhat-release
  3. CentOS Linux release 7.6.1810 (Core)
  4. #在官网下载和Linux版本对应的rpm包
  5. http://repo.mysql.com/
  6. #安装rpm包
  7. rpm -ivh mysql57-community-release-el7.rpm
  8. #查看Linux的yum源是否被安装好
  9. [root@VM-4-11-centos MySQL]# ls /etc/yum.repos.d/ -l
  10. total 24
  11. -rw-r--r-- 1 root root 1838 Apr 27 2017 mysql-community.repo
  12. -rw-r--r-- 1 root root 1885 Apr 27 2017 mysql-community-source.repo
  13. #使用yum安装mysql
  14. yum install -y mysql-community-server
  15. #查看MySQL是否安装成功
  16. [root@VM-4-11-centos MySQL]# ls /etc/my.cnf #查看MySQL配置文件是否存在
  17. /etc/my.cnf
  18. [root@VM-4-11-centos MySQL]# which mysqld #查看MySQL服务端是否存在
  19. /sbin/mysqld
  20. [root@VM-4-11-centos MySQL]# which mysql #查看MySQL客户端是否存在
  21. /bin/mysql
  22. #启动MySQL服务器
  23. systemctl start mysqld

2、安装MySQL出现的问题

  1. 安装遇到秘钥过期的问题:
  2. Failing package is: mysql-community-common-5.7.42-1.el7.x86_64
  3. GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  4. 解决⽅案:
  5. rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

3、登录MySQl

3.1方案一

  1. #获取临时密码
  2. [root@VM-4-11-centos MySQL]# sudo grep 'temporary password' /var/log/mysqld.log
  3. 2023-06-07T02:58:34.085200Z 1 [Note] A temporary password is generated for root@localhost: kQs***7OrS_M
  4. #使用临时密码登录
  5. [root@VM-4-11-centos MySQL]# mysql -h 127.0.0.1 -P 3306 -u root -p
  6. Enter password:
  7. #退出MySQl
  8. \q
  • -h:指定要连接的 MySQL 数据库所在的主机名或 IP 地址。在这里,127.0.0.1 表示要连接的主机为本地主机,即连接本机上的 MySQL 数据库。不指明-h,默认连上本地服务器搭建的MySQL。
  • -P:指定要连接的 MySQL 数据库所在的端口号。在这里,3306 表示 MySQL 数据库的默认端口号。不指明-P,默认使用配置文件指明的端口号连接MySQL。
  • -u:指定要连接 MySQL 数据库的用户名。在这里,root 表示使用 root 用户名连接 MySQL 数据库。
  • -p:表示连接 MySQL 数据库时需要输入密码。在这里,-p 后面没有指定密码,所以会提示输入密码。

当你输入完整的命令后,按下回车键,会提示输入密码,输入正确的密码后,就可以连接到 MySQL 数据库了。

3.2方案二 

  1. #打开MySQl配置文件
  2. vim /etc/my.cnf
  3. #尾行加入此句
  4. skip-grant-tables
  5. #重启MySQl服务
  6. systemctl restart mysqld
  7. #直接登录
  8. mysql -uroot

4、修改MySQL配置文件

  1. #vim打开配置文件
  2. vim /etc/my.cnf
  3. #新增如下字段
  4. port=3306
  5. character-set-server=utf8
  6. default-storage-engine=innodb
  7. #重启MySQl服务,生效配置
  8. systemctl restart mysqld

5、可选设置:开机自启动MySQL(云服务器没事一般不会关机)

  1. #开启开机自启动
  2. systemctl enable mysqld
  3. systemctl daemon-reload

二、MySQL数据库基础

1、一些概念

MySQL本质是基于C(mysql)S(mysqld)模式的一种网络服务。

mysqld:它是数据库的服务器端(这是一个守护进程)

mysql:它是数据库的客户端

数据库是在磁盘或内存中存储的结构化数据文件。

数据库服务:mysqld

2、基本使用

2.1显示当前 MySQL 实例中所有的数据库列表

  1. mysql> show databases;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | mysql |
  7. | performance_schema |
  8. | sys |
  9. +--------------------+
  10. 4 rows in set (0.02 sec)

数据库存放于/var/lib/mysql目录下。

2.2创建数据库

  1. mysql> create database helloworld;
  2. Query OK, 1 row affected (0.00 sec)

创建数据库,本质上就是在创建Linux下创建一个目录

2.3使用数据库

  1. mysql> use helloworld;
  2. Database changed

2.4创建数据库表 

  1. mysql> create table students(
  2. -> name varchar(32),
  3. -> age int,
  4. -> gender varchar(2)
  5. -> );
  6. Query OK, 0 rows affected (0.26 sec)

在数据库中建立表,本质上就是在Linux中创建对应的文件

2.5在表中插入数据

  1. mysql> insert into students (name, age, gender) values ('张三',22,'男');
  2. Query OK, 1 row affected (0.05 sec)

2.6在表中查询数据 

  1. mysql> select* from students;
  2. +--------+------+--------+
  3. | name | age | gender |
  4. +--------+------+--------+
  5. | 张三 | 22 ||
  6. | 王五 | 23 ||
  7. | 王五 | 23 ||
  8. +--------+------+--------+
  9. 3 rows in set (0.01 sec)

3、SQL的分类 

DDL【data definition language】:数据定义语言,用来维护存储数据的结构

代表指令: create, drop, alter

DML【data manipulation language】:数据操纵语言,用来对数据进行操作

代表指令: insert,delete,update

DML中又单独分了一个DQL:数据查询语言,代表指令: select

DCL【Data Control Language】:数据控制语言,主要负责权限管理和事务

代表指令: grant,revoke,commit

4、存储引擎

        存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

MySQL的核心就是插件式存储引擎,支持多种存储引擎。

  1. #查看MySQL的存储引擎
  2. mysql> show engines;
  3. +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
  4. | Engine | Support | Comment | Transactions | XA | Savepoints |
  5. +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
  6. | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
  7. | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
  8. | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
  9. | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
  10. | MyISAM | YES | MyISAM storage engine | NO | NO | NO |
  11. | CSV | YES | CSV storage engine | NO | NO | NO |
  12. | ARCHIVE | YES | Archive storage engine | NO | NO | NO |
  13. | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
  14. | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
  15. +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
  16. 9 rows in set (0.00 sec)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/425401
推荐阅读
相关标签
  

闽ICP备14008679号