Mysql简介及安装步骤

1、MySQL简介
前面已经介绍过,MySQL属于传统的关系型数据库产品,其开放式的架构使得用户的选择性很强,而且随着技术的逐渐成熟,MySQL支持的功能也越来越多,性能也在不断地提高,对平台的支持也在增多,此外,社区的开发与维护人数也很多。当下,MySQL因为其功能稳定、性能卓越,且在遵守GPL协议的前提下,可以免费使用与修改,因此深受用户喜爱。
我们知道,关系型数据库的特点是将数据保存在不同的表中,再将这些表放入不同的数据库中,而不是将所有的数据统一放在一个大仓库里,这样的设计加快了MySQL的读取速度,而且它的灵活性和可管理性也得到了很大的提高。访问及管理MySQL数据库的最常用标准化语言为SQL——结构化查询语言。SQL使得对数据库进行存储、更新和存取信息的操作变得更加容易。例如,你能用SQL为一个网站检索产品信息及存储用户信息、博文、帖子等,有关SQL的知识后文会详细讲解。
2、MariaDB数据库的诞生背景介绍
自甲骨文公司收购MySQL之后,MySQL在商业数据库与开源数据库领域的市场占有份额都跃居第一,这样的格局引起了部分业内人士的担忧,因为商业数据库的老大有可能将MySQL闭源,为了避免Oracle将MySQL闭源,而无开源的类MySQL数据库可用,MySQL社区采用了分支的方式——MariaDB数据库就这样诞生了,MariaDB是一个向后兼容的数据库产品,可能会在以后替代MySQL,其官方地址为https://mariadb.org/。不过,这里还是建议大家选择更稳定且使用更广泛的MySQL数据库,可以先测试MariaDB数据库,等使用的人员多一些,社区更活跃后再正式考虑使用也不迟。
3、yum/rpm方式安装MySQL
MySQL官方网站及相关镜像网站提供了不同版本的RPM安装包,并且针对不同的硬件或操作系统平台,安装包的类型也会有区别。在使用时,可以到官方网站的下载页面进行选择,国内有一些互联网公司提供了镜像文件下载,比如搜狐、阿里云公司提供的镜像资源就非常不错。
下面是搜狐网提供的数据库软件镜像地址:http://mirrors.sohu.com/mysql,如果本书使用的版本不再发布,那么可以选择5.6的其他相关版本注意:yum/rpm安装方式适合所有MySQL软件产品。
1.rpm包方式安装MySQL
rpm包的安装方式非常简单,这里以el6平台下的MySQL 5.6.40版本为例,首先,要通过上述搜狐镜像地址下载到如下四个MySQL相关软件安装包。
MySQL-client-5.6.40-1.el6.x86_64.rpm
MySQL-devel-5.6.40-1.el6.x86_64.rpm
MySQL-server-5.6.40-1.el6.x86_64.rpm
MySQL-shared-5.6.40-1.el6.x86_64.rpm
一般来说,其中的MySQL-server-5.6.40-1.el6.x86_64.rpm和MySQL-client-5.6.40-1.el6.x86_64.rpm这两个软件包是必须要安装的,至于另外两个软件包,则可视实际需要进行安装,不过一般建议一起安装。
可以把这四个rpm包上传到服务器的目录中,然后执行如下rpm命令进行安装:
[[email protected] tools]# rpm -qa|grep mysql #<==查找已经安装的mysql的包。
mysql-libs-5.1.73-7.el6.x86_64
rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps #<==卸载系统已经安装的mysql依赖包。
rpm -ivh MySQL-client-5.6.40-1.el6.x86_64.rpm
rpm -ivh MySQL-devel-5.6.40-1.el6.x86_64.rpm
rpm -ivh MySQL-shared-5.6.40-1.el6.x86_64.rpm
rpm -ivh MySQL-server-5.6.40-1.el6.x86_64.rpm
这里的el6表示适合操作系统的版本,还有el5、el7等。i686表示适合32位的系统,x86_64表示适合64位的系统。
执行上述命令即可完成MySQL软件的安装。
在采用rpm包安装方式时,必须要官方或第三方提供了现成的rpm软件包,否则是无法使用该方式安装的。另外,和直接采用yum的安装方式相比,rpm包的安装方式往往可以选择更新的版本,但是rpm包安装也有自身的问题,例如,无法满足定制化安装,比如,不能进行编译参数、路径等的更改。
2、yum方式安装MySQL
yum方式安装MySQL数据库时,只需要执行一个命令“yum install mysql-server-y”即可,yum方式的安装原理是在执行yum安装命令之后,其会自动从yum源地址下载相应名称的MySQL数据库rpm包,然后到系统上安装,并自动解决各种软件包之间的依赖问题。这是一个非常不错的安装软件的方式,不仅仅是针对MySQL,安装其他软件也是如此。
yum安装方式的最大优点就是超级简单,但是它也有自身的问题:例如它继承了rpm包的无法定制化安装的问题;另外一个缺点是采用默认的yum安装时,一般随yum源附带的软件版本都比较低,使用CentOS 6.9 Linux默认yum安装的MySQL版本仅为5.1.73。
yum install mysql-server mysql-devel mysql-libs -y
3、如何正确选择MySQL的安装方式
若是对数据库要求不太高的场景,则可以采用yum/rpm方式安装MySQL,例如,并发不大,只是在公司内部(wiki系统)、企业内部(Zabbix监控系统,OpenStack后台管理)等需要数据库的一些应用场景,当然,生产场景下也是可以选择yum或rpm方式进行安装的。
但是,有很多大型网站或门户网站,在安装MySQL时,往往会有各种定制化、初始化的需求,这时,要根据企业的需求先把源码包制作成rpm包,然后搭建自己的yum仓库,最终采用“yum install mysql-server-y”的方式进行安装,这样做的优点是既兼顾了yum/rpm安装方式简单的优点,又用到了源码包安装方式的可定制性,但是,使用这个方法需要一定的技术能力,此部分的内容建议参考如下博文。
http://blog.oldboyedu.com/autodeploy-rpm/。
4、启动与关闭MySQL
1、查看mysql服务的两种方式
[[email protected] bin]ps -ef|grep mysql
[[email protected] bin]netstat -nlp
2、启动服务的两种方式
命令行方式
[[email protected] bin]cd /usr/bin
[[email protected] bin]./mysqld_safe &
服务方式
[[email protected] ~]service mysql start 如果服务在启动状态,直接重启服务用以下命令:
[[email protected] ~]service mysql restart
3、关闭服务的两种方式
命令行方式:
[[email protected] ~]mysqladmin -u root shutdown
服务方式:
[[email protected] ~]service mysql stop
4、sql语句分类
Mysql简介及安装步骤5、MySQL数据库用户安全策略介绍
安装完MySQL数据库之后,默认的管理员root密码为空,这很不安全。因此需要为root用户设置一个密码。
如下图查询之后为空。
Mysql简介及安装步骤
1、为root用户设置密码
进入mysql数据库:use mysql;
更改root用户密码: update user set password=password(‘song123’) where user=root;
退出: exit;
注意:如上操作是不会生效的,再用“mysql -u root”登录的时候,依然是无密码状态,原因在于mysql服务为加速系统效率,会先将用户权限更新到内存中,除非使用实时生效命令会再次刷新内存权限数据。在mysql命令行中执行flush privileges,或重启服务,service mysqld restart,接下来无密码方式就不能登录,要采用以下方式登录:mysql -u root -p 回车后,会提示输入密码,输入自己设置的密码就好

2、忘记密码如何处理
进行免密登录的配置
首先停止MySQL服务,示例如下: service mysql stop
然后,/etc/my.cnf 中在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。 ::????
现在,无须密码即可登录MySQL,然后修改新密码,示例如下:
这时,可以将root密码修改为新密码了,示例如下:
mysql> update mysql.user set password=PASSWORD(“oldboy123”) where user=“root” and host=“localhost”;
mysql> flush privileges; #<==刷新权限使得修改密码生效。
Query OK, 0 rows affected (0.01 sec)
然后重启服务 service mysql restart

3、MySQL创建用户及授权
命令如下:
grant all on stumysql.* to [email protected] identified by ‘song123’;
grant select, insert, update, delete on *.*to [email protected]"%" identified by ‘song123’;
grant all on stumysql. * to [email protected] ‘192. 168. 111. 118’ identified by ‘song123’
以上三条 grant语句授权参数详解如下:
1、授权 localhost主机通过test用户和song123密码访问本地的stumysql库的所有权限;
2、授权所有主机通过test用户和song123s密码访间本地的 stumysql库的查询、插入、更新、删除权限;
3、授权192.168.111.118主机通过test用户和song123密码访问本地的 stumysql库的所有权限。