MySQL简介,安装,简单使用
MySQL wiki
MySQL是世界上最广泛使用的开源关系型数据库(relational database management system),发布于1995年,由瑞典公司MySQLAB开发,现在由oracle公司所有,由c/c++实现,SQL的意思是Structured Query Language。
MySQL提供了多用户(multi-user)对一系列数据库的访问,提供了图形界面的,命令行界面的客户端,下面有命令行界面的介绍。MySQL是Web应用中非常流行的选择,LAMP架构中的M(Linux, Apache, MySQL, Python/php)
MySQL可以单台部署,也可以多服务器部署(muti-server deployment),但注意,就我的理解这里不是集群服务,因为这里是用一台强大的服务器做mater,其他做slave,master用来写,slaves用来读,每台server用同步机制进行同步。这个跟redis的master-slave机制一样,用配置文件去控制
安装
在安装测试使用sphinxSearch(一个开源的full-index search engine)的时候,需要安装mysql做测试,就用如下方式安装了。
MySQL的安装可以从源码编译安装,也可以用linux的包管理系统。
首先我在我的云服务器上(ubuntu系统)用apt-get install安装mysql的server和client。
sudo apt-get install libmysqld-dev sudo apt-get install mysql-client
这里注意:
我在另外的一个阿里云服务器上安装的时候,安装libmysqld-dev就不能正常使用,报着个错,并且按装过程中没有提醒我设置root帐户的密码
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
然后我安装mysql-server后就正常了,并且在安装过程中有提醒我设置root帐户密码
安装server的过程中会提醒设置管理员root用户密码,推荐设置,root用户可以创建删除普通用户。
启动mysql server后,Linux下使用mysql client如下连接数据库
> mysql db_name
或
> mysql --user=user_name -p db_name
-p 即 --password,像我的root用户就有密码,必须加上-p,不推荐在命令行上直接写出密码,只用-p,shell会提醒在下一行输入。
SQL structured query language wiki
sql是专门为操作关系型数据库而设计的编程语言,诞生于1984年,现在已经是ISO的标准,文件名以.sql结尾,sql包括了数据的插入,查询,更新,删除。也就是我们操作MySQL用的都是SQL语句,当然也可以直接执行一个.sql文件。
一个例子,在MySQL指定库中创建一个table并插入一些数据
mysql server在安装后,会有两个默认的database,mysql和test
下面是一个例子wy.sql, 其在test库中定义了一个名为articles的table,并且插入了一些数据
1 drop table if exists test.articles; 2 create table test.articles 3 ( 4 id integer primary key not null auto_increment, 5 group_id integer not null, 6 date_added datetime not null, 7 title varchar(255) not null, 8 content text not null 9 ); 10 11 insert into test.articles values 12 (1, 1, now(), 'doc one', 'this is my test document one ^_^'), 13 (2, 2, now(), 'doc two', 'this is my test document two ^_^'), 14 (3, 2, now(), 'spring' , 'sprint is beautiful^_^');
我们给test库增加了一个articles表,这个table有5个field,并且插入了一些数据,执行这个wy.sql文件,使用如下mysql命令
mysql -p < wy.sql
现在用client去MySQL数据库中查看,可以发现这个table已经有了,且有我们插入的3条数据。
使用了三个命令
use test; #使用test database show tables; #显示选中库中所有table select * from articles; #显示artibles table中的所有entry
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库