如果您浏览过许多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. weblogic报:java.lang.LinkageError: loader constraint violation in interface itable initialization

    原因分析: gdaml服务中依赖org.apache.xerces_2.9.0.v201101211617.jar会产生jar包冲突 解决方法: 项目中的这个jar包删除,并将这个jar包放在服务器中 ...

  2. Android WebView使用与JavaScript使用

    WebView基本使用 WebView是View的一个子类,可以让你在activity中显示网页. 可以在布局文件中写入WebView:比如下面这个写了一个填满整个屏幕的WebView: <?x ...

  3. Android 图片内存优化与图片压缩

    1. 对图片本身进行操作 尽量不要使用 setImageBitmap.setImageResource. BitmapFactory.decodeResource 来设置一张大图,因为这些方法在完成 ...

  4. git 常用的分支技巧

    分支branch作为git一个强大功能,在平时开发如果能够善加使用,定能成倍提升开发效率. 1.分支开发模式 主分支master上一般是稳定版本,需要保证随时都能发布. 所以,可以建立一个开发分支用于 ...

  5. Zxing二维码的集成使用

    在github网站搜索Zxing 详见:https://github.com/yipianfengye/android-zxingLibrary 在module的build.gradle中执行comp ...

  6. 1-RadioButton控件的用法

      RadioButton控件 单选按钮,当与其他单选按钮成对出现时,允许用户从一组选项中选择单个选项.也就是说,当同一个容器中(Form.Panel.GroupBox.PictureBox等)存在两 ...

  7. Prism 订阅事件 IEventAggregator 说明

    本节学习了Event Aggregation事件聚合,这个在Prism中很重要,特别是对于Module间的通信.除了前面介绍的Command可以用于模块间的通信,还有我们这一节介绍的Event Agg ...

  8. 页面访问过程及get/post的理解——

    Chrome查看开发者工具面板,常看的一些数据? Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈. Console:记录开发者开发过程中 ...

  9. Python字符和字符值(ASCII或Unicode码值)转换方法

    Python字符和字符值(ASCII或Unicode码值)转换方法 这篇文章主要介绍了Python字符和字符值(ASCII或Unicode码值)转换方法,即把字符串在ASCII值或者Unicode值之 ...

  10. c++ 函数后面有个 const

    非静态成员函数后面加const,类似如下函数: class testClass{ public: void testClass() const{ /*...*/} private: /*...*/ } ...