MySQL介绍,下载和安装
MySQL介绍
1.mysql版本
双授权版本:社区版(完全免费,功能也够nb了)和商业版(更好,功能更多更强大一些,但是收费,VIP,有售后服务,也会参考和吸收社区版的一些nb的功能,安全性和稳定性都是最好的,大几十万),一般NB的开源软件都是双授权的
每个版本又分四个版本依次进行发布:
Alpha版:一般只在开发公司内部使用,不对外公开,测试、自我检查的版本
Beta版:一般是开发完也测试完的版本,一般不会出现比较大的性能bug(一般我们不用,阿里、去哪儿会使用这个版本,有些新功能,内部有高手能调,也能评估新功能的性能)
RC版:根据Beta版测试之后收集到一些bug等在进行完善的一个版本
GA版:软件正式发布的版本,没有特别的需求一定要使用GA版,有些公司追求新功能会使用Beta版,这是个例。
2.MySQL的产品线:(mysql是C++写的,oracle 9i版本之前是C语言写的,之后主要是java)
最早期,mysql是按照3.x--4.x--5.x等来开发的,但是为了提高MySQL的竞争优势,以及提高性能、降低开发维护成本等原因,同时,更方便企业用户更精准的选择合适的版本产品用于自己的企业生产环境中,MySQL在发展到5.1系列版本之后,重新规划为三条产品线。
第一条:5.0.xx 到 5.1.xx产品线系列介绍
第二条:5.4.xx 到 5.7.xx产品线系列介绍(主流:5.5和5.6)
第三条:6.0.xx 到 7.1.xx产品线系列介绍
3. MySQL数据库软件命名介绍
以mysql-5.6.42.tar.gz的版本号来解释:
1.第一个数字5是主版本号,描述了文件格式。所有版本5发行都有相同的文件格式。
2.第二个数字6是发行级别。主版本号和发行级别组合到一起便构成了发行序列号。
3.第三个数据42是在此发行系列的版本号,随每个新发布版递增。通常你需要已经选择发行的最新版本,每次更新后,版本字符串的最后一个数字会递增。如果增加了一些新功能或者微小的不兼容性,版本字符串的第二个数字会递增。如果文件格式改变,第一个数字会递增。
一般有的版本也会加上上面我们说的4个版本的后缀,beta、alpha、rc版、ga版等等,我们举得这个例子是不带后缀的,就相当于GA版
4.1 MySQL版本选择建议
1.稳定版:选择开源的社区版的稳定版GA版本
2.产品线:可以选择5.1、5.5、5.6,互联网公司主流5.5和5.6,其次是5.1.
3.选择MySQL数据库GA版发布后6个月以上的GA版本。
4.要选择前后几个月没有大的BUG修复的版本,而不是大量修复BUG的集中版本
5.最好向后较长时间没有更新发布的版本。
6.开发、测试、运维、DBA进行自己本地测试的时候,最好要和线上的版本一致,最差也要兼容,所以作为开发,你要清楚公司用的哪个版本的数据库
7.作为内部开发测试数据库环境,跑大概3-6个月的时间。
8.优先企业非核心业务采用新版本的数据库GA版本的软件。
10.想DBA高手请教,或者在技术分为好的群里和大家一起交流,使用真正高手用过的好用的GA版本产品
经过上述工序后,若没有重要的功能BUG或者性能瓶颈,则可以开始考虑作为任何业务数据服务的后端数据库软件。
MySQL的下载安装、简单应用及目录介绍
1.下载安装
分了两种下载安装的方式给大家看,注意数据库这个东西不在乎版本是不是最新,在乎的是够稳定,现在公司中常用的是mysql5.5和mysql5.6的版本,现在就用mysql5.6的版本给大家来演示一下:
第一种下载安装的方法:
mysql下载地址:https://dev.mysql.com/downloads ,如果是在这里面下载的,看操作: 然后按照下面的方式选择: 如果你下载的是mysql的安装程序,也就是文件扩张名为.msi结尾的,那么你安装的时候就按照下面这种图文教程的方式安装。
这里选择自定义模式,因为我的电脑是64位,选择x64
至此,安装完毕。来添加路径C:\Program Files\MySQL\MySQL Server 5.7\bin到环境变量中的系统变量“Path”
右键点击我的电脑-->点击属性
最后,打开cmd,输入mysql -u root -p,并回车,如果出现Welcome字样,说明mysql安装成功。
第二种下载安装的方法:
mysql下载地址:https://dev.mysql.com/downloads,如果在mysql官网下载的是zip压缩包,看操作,注意和上面第一种方法的下载网址不同:
然后按照下面的选择来下载,发现是zip压缩包对吧,zip压缩包解压之后就能用,上面的msi还需要安装一下,安装的时候可以选择很多的依赖环境一起安装:
点击download进来: 下载完成以后进行安装:解压MySQL压缩包,将以下载的MySQL压缩包解压到自定义目录下。我放在D:\Program Files\MySQL\
2.解压完成之后其实就可以用了,但是为了方便使用,也就是在cmd启动mysql的时候,就不用加上全路径了,所以添加一下环境变量,将bin这个文件夹添加到环境变量,bin这个文件夹中有mysqld服务端,有mysql自带的一个客户端,所以添加了环境变量之后,在cmd中直接就可以使用了。
这样就将mysql服务端(mysqld)和mysql自带的一个客户端(供用户在本机测试用的,也是cmd窗口下使用的,客户端叫做mysql,后面操作的时候会使用到)
然后直接在cmd窗口就可以启动mysql服务端了,并且可以在任务管理起里面查看。
然后再启动一个cmd窗口来使用一下mysql客户端,然后连接一下开启的服务端,就可以成功了。
连接指令是:mysql -h 服务端IP地址 -P(大写) 3306(mysql服务端默认端口) -uroot(用户,这里使用root用户来测了) -p密码 。注意:如果这样直接输入密码的话,密码和前面的-p中间不要有空格。
自己在本机进行测试的,所以mysql服务端的IP地址为本机的回环地址127.0.0.1,其实如果是自己测试本机的mysql服务端,可以不用写ip地址和端口的,直接写mysql -uroot -p,但是连接别的电脑的mysql的时候一定要写IP地址和端口,并且不能用root用户去远程连接别的电脑的mysql服务端,并且要注意mysql服务器上的防火墙是否允许3306能够被外人连接,如果想让别人连,要更改防火墙设置,让他允许3306端口被连接,或者直接关闭防火墙(不建议直接关闭,测试的时候可以用),否则会报错。
ip地址除了写127.0.0.1之外,还可以写localhost,或者自己本机的ip地址,但是写本机的ip地址的时候,服务端会将你的客户端视为外部设备,不允许这样登陆。
本机测试连接的时候,完全可以不用写ip地址和端口
到目前为止,就已经可以连接并使用mysql数据库了,但是你发现,关闭mysql服务端比较麻烦,启动的时候直接输入的mysqld回车就启动了
关闭的方式有两种:
1.通过任务管理器来关闭服务端:
2.通过cmd指令来关闭mysql服务端
所以可以通过系统服务的方式来控制mysql服务的开启或者关闭,那么就需要将mysql服务加入到系统服务中,来看一下怎么制作成系统服务:打开cmd窗口,注意:必须以管理员身份打开cmd窗口,在左下角的地方找到这个圆圈,点击,然后输入cmd,匹配出来命令提示符,然后右键点击,以管理员身份打开
然后输入 mysqld --install 服务名(可以给这个服务一个名字,直接跟在这个指令的后面,不写也可以,会默认有一个,后面可以查看到了。
这样就添加系统服务了
然后win键+r 打开运行窗口,里面输入services.msc来打开系统服务列表
就可以看到mysqld服务了,如果没有就点击上面的刷新按钮
选中MySQL服务这一项,就可以直接右键查看功能,功能里面有启动和关闭,就可以通过系统服务的形式来启动和关闭MySQL服务了,这个服务是默认开启的,也可以自行设置是否自动开机启动等等的行为,左键双击一下这个服务就看到下面的窗口了。
添加了系统服务以后,在启动和关闭这个mysql服务,就可以在cmd窗口下使用两个指令就搞定了:
启动指令:net start mysql
关闭指令:net stop mysql
并且不能再使用 mysqld指令直接启动了。
还可以通过指令来移除刚才添加的系统服务:cmd下移除服务命令为:mysqld remove
mysql安装的简单总结:
#1、下载:MySQL Community Server 5.7.16
http://dev.mysql.com/downloads/mysql/
#2、解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64
#3、添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
#4、初始化
mysqld --initialize-insecure
#5、启动MySQL服务
mysqld # 启动MySQL服务
#6、启动MySQL客户端并连接MySQL服务
mysql -u root -p # 连接MySQL服务器
#7、将mysql添加系统服务
注意:--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --install
# 移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql
# 关闭MySQL服务
net stop mysql
mysql的简单使用演示
在mysql安装目录下创建一个my.ini(my.cnf)文件,写入下面的配置,然后重启服务端
[client]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
user = 'root'
password = '123'
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\mysql-5.6.45-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-5.6.45-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
查看字符集编码的指令:
show variables like "%char%";
如下命令改变字符集:
mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
MySQL客户端连接服务端时的完整指令
mysql -h 127.0.0.1 -P 3306 -u root -p
如果密码忘了怎么办?
1 停掉MySQL服务端(net stop mysql)
2 切换到MySQL安装目录下的bin目录下,然后手动指定启动程序来启动mysql服务端,指令: mysqld.exe --skip-grant-tables
3 重新启动一个窗口,连接mysql服务端,
4 修改mysql库里面的user表里面的root用户记录的密码:
update user set password = password('666') where user='root';
5 关掉mysqld服务端,指令:
tasklist|findstr mysqld
taskkill /F /PID 进程号
6 正常启动服务端(net start mysql)
修改密码的三种方式
方法1: 用SET PASSWORD命令
首先登录MySQL,使用mysql自带的那个客户端连接上mysql。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin (因为将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,所以可以直接使用这个mysqladmin功能,使用它来修改密码)
关于mysqladmin的介绍:是一个执行管理操作的客户端程序。它可以用来检查服务器的配置和当前状态、创建和删除数据库、修改用户密码等等的功能,虽然mysqladmin的很多功能通过使用MySQL自带的mysql客户端可以搞定,但是有时候使用mysqladmin操作会比较简单。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑那个自动的mysql库中的user表
首先登录MySQL,连接上mysql服务端。
mysql> use mysql; use mysql的意思是切换到mysql这个库,这个库是所有的用户表和权限相关的表都在这个库里面,进入到这个库才能修改这个库里面的表。
mysql> update user set password=password('123') where user='root' and host='localhost'; 其中password=password('123') 前面的password是变量,后面的password是mysql提供的给密码加密用的,最好不要明文的存密码,对吧,其中user是一个表,存着所有的mysql用户的信息。
mysql> flush privileges; 刷新权限,让其生效,否则不生效,修改不成功。
存储引擎
默认存储引擎 Innodb
查看存储引擎
show engines;
MySQL安装目录介绍
看图:
其中,重点看一下data文件夹:如果找不到自己建立的库或者表的文件,可能不在这个data文件夹下面,连接上mysql之后,输入`show global variables like "%datadir%"
;来查看数据文件存储路径,找到路径之后,到对应路径下如果找不到这个文件夹,那么可能是隐藏的,把隐藏的文件显示一下就行了。
注意:在使用cmd的时候,经常需要使用管理员身份来运行cmd窗口,每次都需要自己右键选择管理员身份运行,很麻烦,所有有永久解决的方法,看下面的操作:
1、去”C:/Windows/System32”目录找到”cmd.exe”:
2、右击属性,选择“以管理员身份运行”:
永久解决办法:
1、创建“cmd.exe”快捷方式:
2、右击选择“属性”,选择“快捷方式”,再选择“高级”,在选择“以管理员身份运行”,再单击“确定”。
以后只要打开快捷方式就可以以管理员的身份运行cmd了!
附赠:
windows系统查看系统默认编码的指令:
cmd窗口情况下:windows下cmd默认的编码是GBK
想在windows下查看sqlite的utf-8中文需要先 执行chcp 65001把当前页换为utf-8编码
chcp 命令:
chcp 65001 就是换成UTF-8代码页,在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口
chcp 936 可以换回默认的GBK
chcp 437 是美国英语
linux系统查看系统默认编码的指令:
执行指令:cat sysconfig i18n
结果中有一条是:LANG="zh_CN.utf8"