MySQL系列之三 基础篇

作者:生生不息.连绵不绝 时间:2024-01-25 21:09:28 

目录
  • 系列教程

  • 一、MySQL简介

  • 二、MySQL的发展历史

  • 三、MariaDB的基本使用

    • 1、基本安装与配置

    • 2、客户端命令:mysql

    • 3、其他客户端工具

    • 4、安全加强脚本 mysql_secure_installation

系列教程

MySQL系列之开篇 MySQL关系型数据库基础概念
MySQL系列之一 MariaDB-server安装
MySQL系列之二 多实例配置
MySQL系列之四 SQL语法
MySQL系列之五 视图、存储函数、存储过程、触发器
MySQL系列之六 用户与授权
MySQL系列之七 MySQL存储引擎
MySQL系列之八 MySQL服务器变量
MySQL系列之九 mysql查询缓存及索引
MySQL系列之十 MySQL事务隔离实现并发控制
MySQL系列之十一 日志记录
MySQL系列之十二 备份与恢复
MySQL系列之十三 MySQL的复制
MySQL系列之十四 MySQL的高可用实现
MySQL系列之十五 MySQL常用配置和性能压力测试

一、MySQL简介

MySQL原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购。2009年,Oracle收购sun公司,MySQL成为Oracle旗下产品。

但被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目OpenSolaris的发展,因此导致自由软件社区们对于Oracle是否还会持续支持MySQL社区版(MySQL之中唯一的免费版本)有所隐忧,MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB。而原先一些使用MySQL的开源软件逐渐转向MariaDB或其它的数据库。

二、MySQL的发展历史

作者:Monty 麦克尔·维德纽斯

  • 1996年:发布MySQL1.0,开始是Solaris版本,后来又发布了Linux版本

  • 1999年:Monty 在瑞典成立了 MySQL AB 公司

  • 2003年:MySQL 5.0版本发布,增加了视图、存储过程等功能

  • 2008年:被 sun公司 收购

  • 2009年:Oracle 收购 sun

  • 2009年:Monty 成立 MariaDB

版本的演变:

  • MySQL:5.1 --> 5.5 --> 5.6 --> 5.7

  • MariaDB:5.5 -->10.0--> 10.1 --> 10.2 --> 10.3

三、MariaDB的基本使用

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。

插件式存储引擎:也称为“表类型”,存储管理器有多种实现版本,功能和特性可能均略有差别;用户可根据需要灵活选择,Mysql5.5.5开始innoDB引擎是MYSQL默认引擎。MyISAM ==> Aria ,InnoDB ==> XtraDB

1、基本安装与配置

安装:yum install mariadb-server

主配置文件:从上到下检查,如果有重复的配置参数则在后边的配置文件中的参数生效,覆盖检索


/etc/my.cnf
/etc/mysql/my.cnf
/etc/sysconfig/my.cnf
/usr/local/etc/my.cnf
~/.my.cnf

查看默认配置:/usr/libexec/mysqld --print-defaults

默认数据库库文件存放目录:/var/lib/mysql/

套接字文件:/var/lib/mysql/mysql.sock

PID文件:/var/run/mariadb/mariadb.pid

日志文件:/var/log/mariadb/mariadb.log

启动服务:# systemctl start mariadb.service

2、客户端命令:mysql

选项:

-u root 指定用户
-p password 指定密码
-h host 指定连接主机
-A 禁止补全
-P port 指定端口,默认3306
-S socket文件路径 默认:/var/lib/mysql/mysql.sock
-D databasename 指定默认数据库
-C 启用压缩
-e SQL_CMD 执行后退出
-V 查看版本
--print-defaults 查看默认设置

批处理模式


mysql < /path/somefile.sql 将sql脚本导入数据库执行

交互式模式

客户端命令

  • \d|delimiter 设置语句结束符

  • \c|clear 提前结束语句

  • \r|connect 重新连接数据库

  • \g 直接将语句送服务器执行

  • \G 直接将语句送服务器执行;结果纵向显示

  • .|source 读入脚本文件创建数据库

  • ! COMMAND 执行shell命令

  • \W 语句执行结束后显示警告信息

  • \w 语句执行结束后不显示警告信息

  • \s 获取当前系统状态

  • use database_name 指定操作的数据库

  • prompt \u@[\D] \r:\m:\s-> 修改提示符,如果需要永久修改则在my.cnf中 [mysql] 下加入 prompt="(\u@\h) [\d]>

  • \q 退出

服务器命令:需要在命令后加命令结束符,默认结束符为分号";"

  • help KEYWORD 获取服务器命令的帮助

  • select version(); 查看数据库版本

  • show variables; 显示数据库当前工作的环境变量

3、其他客户端工具

  • mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中

  • mysqladmin:基于mysql协议管理mysqld

  • mysqlimport:数据导入工具

  • myisamchk:检查MyISAM库

  • myisampack:打包MyISAM表

  • mysqld_safe:服务二进制程序

  • mysqld_multi:创建多实例工具

4、安全加强脚本 mysql_secure_installation

这个脚本可以帮助我们做一下基本的安全加强


[root@centos7 mysql]# mysql_secure_installation
Enter current password for root (enter for none):   #空密码直接回车
Set root password? [Y/n] Y  #设置root密码
New password: ******
Re-enter new password: ******
Remove anonymous users? [Y/n] Y  #删除匿名账户
Disallow root login remotely? [Y/n] n  #禁用远程连接
Remove test database and access to it? [Y/n] Y  #删除test库
Reload privilege tables now? [Y/n] Y  #重读授权表使其配置生效
[root@centos7 mysql]# mysql -uroot -p'your_password'  #连接数据库命令

来源:https://www.cnblogs.com/L-dongf/p/9138934.html

标签:MySQL,MariaDB
0
投稿

猜你喜欢

  • 零基础写python爬虫之使用urllib2组件抓取网页内容

    2021-08-16 01:13:22
  • python接入使用百度翻译流程

    2022-11-26 01:01:43
  • Python减少循环层次和缩进的技巧分析

    2023-10-07 21:41:09
  • python使用Geany编辑器配置方法

    2021-06-06 22:32:50
  • python网络爬虫基于selenium爬取斗鱼直播信息

    2023-03-05 09:33:19
  • Go编程库Sync.Pool用法示例详解

    2024-02-01 04:48:21
  • 解决python DataFrame 打印结果不换行问题

    2023-11-20 23:12:25
  • Python使用urlretrieve实现直接远程下载图片的示例代码

    2022-11-10 16:54:33
  • JavaScript基于ChatGPT API实现划词翻译浏览器脚本

    2024-04-22 12:52:27
  • 加固SQL参数与存储过程

    2012-03-12 19:44:08
  • python 生成器协程运算实例

    2021-11-22 05:27:51
  • 完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致)

    2024-01-12 14:43:03
  • 详解python 注释、变量、类型

    2023-10-27 10:01:18
  • numpy.linalg.eig() 计算矩阵特征向量方式

    2022-11-04 05:27:00
  • Python try except finally资源回收的实现

    2021-04-05 20:53:06
  • Pytorch中使用TensorBoard详情

    2023-07-11 01:14:56
  • python实现最大优先队列

    2022-12-24 00:48:13
  • python取余运算符知识点详解

    2023-05-16 00:04:50
  • python re.match()用法相关示例

    2023-07-21 05:12:30
  • python简单获取数组元素个数的方法

    2023-03-08 15:39:29
  • asp之家 网络编程 m.aspxhome.com