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' #连接数据库命令
到此这篇关于mysql系列之三 基础篇的文章就介绍到这了,更多相关mysql 基础篇内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: JUnit5常用注解的使用
推荐阅读
-
mysql 开发基础系列15 索引的设计和使用
-
mysql 开发基础系列11 存储引擎memory和merge介绍
-
mysql 读写分离(基础篇)
-
mysql 开发基础系列20 事务控制和锁定语句(上)
-
mysql 开发进阶篇系列 42 逻辑备份与恢复
-
MySQL学习之基础篇09-事务
-
自己动手写MiniBBS系列(MVC篇)之远程链接mysql
-
mysql 开发进阶篇系列 20 MySQL Server(innodb_lock_wait_timeout,innodb_support_xa,innodb _log_*)
-
mysql 开发进阶篇系列 47 xtrabackup (完全备份恢复,恢复后重启失败总结)
-
mysql 开发进阶篇系列 33 工具篇(mysqlbinlog日志管理工具)