如果您浏览过许多IT类的招聘职位,那么掌握数据库技能的重要性便不言自明了。因JAVA常常与MySQL所挂钩,因此兴起了写博客记载学习的念头,盼与君共勉。然,在进行MySQL语法的学习之前,我们无不面临环境如何部署的问题,而这个问题又常常令新手望而生畏。在接下来篇幅中,我们将一起合作,消灭这只“拦路虎”。

本文的规则:黑色字体为正常步骤,红色字体为希望能引起读者的注意,笔者用意大致是出于“警示”或“引导”这两种。

本文阅读建议:应先看完所有步骤,才能关注到应该注意的点。这样会使接下来的安装更为顺利,在安装步骤的理解上也能有所增进。

本文概览:

(一)安装MySQL 5.17

(二)操控MySQL服务

(三)接下来应当做些什么

若本文出现错误或有所遗漏等问题,还请读者指出,鄙人不胜感激。

(一)安装MySQL 5.17


(0) 鉴于Windows下的安装尤为容易,这里便不再赘述。如果您对于将MySQL安装到Windows有些许不确定或是困难,还请移步必应或百度搜索一下。对此造成不便,还请海涵。

(1)Ubuntu 16.04

① 首先,使用Ctrl + Alt + T或点击鼠标右键选择Open Terminal,打开命令行(CLI)界面;

② 其次,需要先更新当前软件源(这是 一个“用于获取可安装的包信息,以及会列出当前已安装了的、且有可更新资源” 的步骤)再安装MySQL,请依次键入如下命令:

 sudo apt-get update
sudo apt-get install -y mysql-server mysql-client

③ 最后,在安装完成之后,我们还需要键入如下命令,并在此文件中,找到[mysqld]选项组中的“bind-address”,前置#进行注释(注意最后一行):

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

ps:为什么要进行第三步骤的配置?这样做的原因是对MySQL服务器,即mysqld进行配置,允许对其进行远程连接访问。

(2)CentOS 7.4(此安装步骤参考自:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

遇到问题了:自CentOS 7.x开始,yum源使用Mariadb替代MySQL的安装。因而即使使用 yum install -y mysql,显示的安装内容是Mariadb而不是MySQL。为此,需要寻求其他方法。

① 首先,我们需要在右边的网址https://dev.mysql.com/downloads/repo/yum/获取Linux对应版本的YUM源的rpm包。由于是CentOS 7.4, 因此选择“第一个”进行下载。

② 其次,执行相应的命令来安装 MySQL YUM源。

sudo rpm -Uvh mysql80-community-release-el7-.noarch.rpm

③ 接着,鉴于于我们要安装的为MySQL5.17版本,所以利用yum-config-manager命令来选择MySQL版本。若不进行选择,将默认安装当前的最新版本,即8.0版本。(重要步骤,建议采用此方式,比较安全和快乐。)

 sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community

若前面方式走不通,那么手工更改 “/etc/yum.repos.d/mysql-community.repo”也无可厚非。这要求你要先在该文件中,找到[mysql80-community]和[mysql57-community]这两个选项组并进行相应的调整,具体如下:

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=0 #在此处进行更改,将1改为0,表示禁用。(注意,这里呈现的是修改后的结果)
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1 #在此处进行更改,将0改为1,表示启用。(注意,这里呈现的是修改后的结果)
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

这里,对修改结果进行验证,以确保无误:

yum repolist enabled | grep mysql

④ 最后,安装MySQL。

sudo yum install mysql-community-server

 ps:在上面第三个步骤,感兴趣的小伙伴可以使用如下命令,查看MySQL YUM 库里面的所有子库的启用情况。其中disabled表示禁用,enabled表示启用。这对您理解第三步骤的命令会有所帮助。

yum repolist all | grep mysql

(二)操控MySQL服务


(1)Ubuntu 16.04(相当于:打开“service”面板,选中“mysqld”程序,右击选择“启动”,是不是一气呵成?)

# 非要以命令的形式记忆的话,可这么记忆: sudo service mysqld 操作动作或基于某种用意的查询
启动服务:sudo service mysqld start
停止服务:sudo service mysqld stop
重启服务:sudo service mysqld restart
查看MySQL Server当前状态:sudo service mysqld status

(2)CentOS 7.4(相当于:打开“service”面板,直接勾选表示“mysqld.service”程序“启动”的按钮。)

# 非要以命令的形式记忆的话,可这么记忆的: sudo systemctl 操作动作或基于某种用意的查询 mysqld.service

启动服务:sudo systemctl start mysqld.service
停止服务:sudo systemctl stop mysqld.service
重启服务:sudo systemctl restart mysqld.service
查看MySQL Server当前状态:sudo systemctl status mysqld.service

需要特别注意的一点是,自MySQL5.7开始,便不再支持使用空密码登录。在MySQL服务器初始化的同时,其会将随机生成的密码保存在/var/log/mysqld.log文件中。因此,我们需按如下思路来解决这个问题:通过文件中查看该随机密码,使用它进行登录并修改为自己想要的密码。出于安全考虑,要求设置的密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,且总长度至少为8个字符。

 sudo grep 'temporary password' /var/log/mysqld.log # 查看随机密码
mysql -uroot -p #输入此命令之后,根据提示输入上一条命令执行后所查看到的随机密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '使用新的密码代替此处文字';

(三)接下来应当做些什么


至此,我们就完成了对MySQL的安装了。还等什么呢?赶紧登录上去玩一玩吧!

① 如何登录:

mysql -p -u root -h 服务器地址

ps: 若您连接的为本机,则-h及其后面的“服务器地址”可直接省略。或写为-h localhost -h 127.0.0.1都是可以的。

② 如何玩耍:

SELECT VERSION();
SELECT USER();
SELECT NOW();
SELECT 1+2*3-4/5;

从零开始学MySQL(一)的更多相关文章

  1. 从零开始学MySQL(二)

    鉴于上节篇幅以安装为主,因此对于调用mysql所需要使用的“命令”只是略微提及.随之而来就会带给读者诸多不解了,因为你会思考,这串长长的字符到底有什么特殊的含义呢?聪明的你可能早就抱着好奇心去“摆渡” ...

  2. 从零开始学MySQL(四)

    上节连接:https://www.cnblogs.com/RajXie/p/10880809.html 上节说到,在创建表的同时,需要给出列的定义.列的定义可展开如下: 列名 列的数据类型 列的一些其 ...

  3. 从零开始学MySQL(三)

    经过上两节的洗礼,我们能够连接上服务器,并成功地进入与mysql交互的会话中了.那么现在就可以发起SQL语句,让服务器来执行它了!这听起来很酷吧?接下来,我们开始学习MySQL的相关知识. 本文概览: ...

  4. 【MySQL函数】MySQL 5.5从零开始学第六章

    说明:本文总结自:<MySQL 5.5从零开始学>第六章 MySQL中的函数包括: 数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数等. 函数: 表示对输入参数值 ...

  5. (45). Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】

    大家在开发的时候,会喜欢jdbcTemplate操作数据库,有喜欢JPA操作数据库的,有喜欢MyBatis操作数据库的,对于这些我个人觉得哪个使用顺手就使用哪个就好了,并没有一定要使用哪个,个人在实际 ...

  6. (6)Spring Boot datasource - mysql【从零开始学Spring Boot】

    在任何一个平台都逃离不了数据库的操作,那么在spring boot中怎么接入数据库呢? 很简单,我们需要在application.properties进行配置一下,application.proper ...

  7. 从零开始学 Java - 我放弃了 .NET ?

    这不是一篇引起战争的文章 毫无疑问,我之前是一名在微软温暖怀抱下干了近三年的 .NET 开发者,为什么要牛(sha)X一样去搞 Java 呢?因为我喜欢 iOS 阿!哈哈,开个玩笑.其实,开始学 Ja ...

  8. 从零开始学 Java - Spring 一主多从、多主多从 数据库配置

    待会苹果要开发布会 我写完这篇文章就准备去看发布会了,因为我买了好几包瓜子和啤酒.由于苹果的保密做的越来越差劲,该曝光的信息差不多全部曝光了,我们这种熬夜看发布会的只不过是让这些信息更加真实,或者说是 ...

  9. 【原创】从零开始学SpagoBI5.X源码汉化编译

    从零开始学SpagoBI5.X源码汉化编译 一.新建Tomact Server 服务器并配置测试1.文件-新建-其他-过滤server-服务类型选择Tomact V7.0 Server2.根据需要修改 ...

随机推荐

  1. Android 6.0动态权限申请

    转载(Android 6.0 动态权限申请简单简洁优雅的处理方式): https://blog.csdn.net/lin_dianwei/article/details/79025324

  2. Android Context介绍

    转载(Android Context完全解析与各种获取Context方法):https://www.cnblogs.com/chenxibobo/p/6136693.html

  3. 排序算法总结(java实现)

    排序算法 介绍:排序分为内部排序和外部排序,内部排序指在内存中进行的排序过程:外部排序指在外存中进行排序的过程,但是此过程建立在多次访问内存的基础上(分成一段段利用内部排序进行排序). 以下排序均属于 ...

  4. WikiData Processing

    WikiData Processing Data Accessing To download latest-all.json.bz2 on the page https://dumps.wikimed ...

  5. C语言转义字符表和ASCII码表

    主要参考 http://www.51hei.com/mcu/4342.html 以及 https://www.cnblogs.com/jason207489550/p/6663444.html

  6. Reactjs之实现js跳转路由

    1.新增知识 /* 实现js跳转路由:https://reacttraining.com/react-router/web/example/auth-workflow 1.要引入Redirect im ...

  7. 本地虚拟机部署线上php程序---不需要修改数据库信息

    1.特别注意:拿来线上php程序后一般是不需要修改config.php里面的数据库连接信息的,如果修改了会报错:站点已关闭.所以 2.5 步骤是需要省略的.如果拿来的是最开始的php源码,需要配置原始 ...

  8. java:Hibernate框架2(关联映射(多对一,一对多,一对多双向,一对一主键,一对一唯一外键,多对多双向))

      hibernate.cfg.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE h ...

  9. 关于Anaconda3 (64-bit)的一些体验

    最近因为在学习数据分析,所以安装了Anaconda3 (64-bit),最新版,支持py3.7 优点:自带了720个库(官方宣布),自带notebook,spyder.不用自己再去pip各种库了(基本 ...

  10. 文件的上传(1)(表单上传和ajax文件异步上传)

    文件的上传(表单上传和ajax文件异步上传) 项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举 ...