Mybatis源码之美:1.1基础环境的安装以及源码的导入

383 阅读6分钟

基础环境的安装以及源码的导入

安装Mysql服务器

官方文档:安装和升级MySQL

这里给出在windowslinux中安装mysql服务器的方法,同时补充一种在docker中安装mysql容器的方法。

TIPS: 因为mysqlcentos7中已经开始收费,因此本文在linux中实际安装的是mariadb

windows

在windows下使用mysql服务器有两种方式,一种是使用mysql提供的MSI Installer安装Mysql服务器,一种方式是直接下载一个zip文件来启动mysql服务器。

MSI Installer

官方文档:MySQL安装程序的安装工作流程里包含了更详细的安装步骤介绍。

image.png

image.png

或者直接直接点击下载 mysql MSI Installer

  • step2:

    文件下载完成后,我们会得到一个名为mysql-installer-community-8.0.17.0.msi的安装包,点击运行该安装包,进入Mysql安装界面。

image.png

勾选i accept the license terms,之后点击Next按钮,进入选择安装类型界面。

image.png

这里勾选Server only只安装Mysql服务器,点击Next继续操作进入安装界面

image.png

点击Execute按钮执行安装操作。

耐心等待安装完成。

image.png

点击Next按钮进入产品配置界面,准备配置产品。

image.png

点击Next按钮高可用配置,选择Standalone Mysql Server/Classic Mysql Replication安装独立的Mysql服务器。

image.png

点击Next按钮,进入服务器类型和网络配置界面。

image.png

服务器类型我们选择Development Comouter,该配置表示Mysql服务器运行在我们的开发机器上,因此Mysql在运行期间将会使用最少的内存资源。

网络连接方面我们维持原有的配置即可,系统默认使用3306端口提供服务。

点击Next按钮,进行身份授权验证配置界面。

此处提供了两种身份验证策略,一种是Mysql 8+版本提供的新的密码验证方案,一种是传统的身份验证方法。

这里我们选择使用传统的身份验证方法。

image.png

点击Next按钮,进入用户账户和角色的配置界面,这里我们配置root用户的密码为dUP6lKU+c3&s,不进行添加用户的操作。

密码dUP6lKU+c3&s是在ZIP安装方式中系统自动生成的密码,为了统一两种安装方式之间的密码,所以这里采用一样的密码。

image.png

点击Next按钮,进入Windows服务配置界面,根据自己的需求决定是否开机启动,其余保持默认配置即可。

image.png

点击Next按钮,进入应用配置界面。

image.png

点击execute按钮开始应用配置。

image.png

点击Finish完成Mysql Server的安装。

image.png

点击Next按钮,完成产品的配置工作。

image.png

点击Finish完成安装工作。

ZIP免安装版

官方文档:使用noinstallZIP存档在Microsoft Windows上安装MySQL

image.png

或者点击直接下载mysql-8.0.17-winx64.zip

  • step2:

    文件下载完成后,我们会得到一个名为mysql-8.0.17-winx64.zip的压缩包,使用解压工具解压该文件,得到mysql-8.0.17-winx64文件夹。

    点击下载解压工具:7zip

    解压缩获取到的mysql-8.0.17-winx64.zip文件。

    文件夹中的文件大致如下:

    image.png

    (不重要的操作)

    mysql-8.0.17-winx64文件夹移动到自己常用软件的安装位置,便于后续使用。

    此处我将该文件夹移动到目录D:\usr\local\下,因此该文件夹的完全访问地址为:D:\usr\local\mysql-8.0.17-winx64.

  • step3:

    进入mysql跟目录,创建一个名为my.ini文件(my.ini的用于配置mysql服务实例)

    文件内容如下:

    [client]
    # 设置mysql客户端默认字符集为utf8mb4
    default-character-set=utf8mb4
    
    [mysqld]
    # 设置服务端口为3306
    port = 3306
    # 设置mysql的安装目录,这里修改为自己的mysql安装目录
    basedir=D:\usr\local\mysql-8.0.17-winx64
    # 配置mysql数据库的数据的存放目录
    datadir=E:\data\mysql\data
    # 允许最大连接数
    max_connections=20
    # 设置mysql服务端默认字符集为utf8mb4
    character-set-server=utf8mb4
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    #忘记密码时使用
    #skip-grant-tables
    #设置协议认证方式
    default_authentication_plugin=mysql_native_password
    
  • step4:

    进入mysql文件夹中的bin文件夹下。

    按住键盘的shift键的同时,点击鼠标右键,选择在此处打开Powerschell窗口

    在弹出的Powerschell窗口中,执行命令.\mysqld --initialize --console.

    该命令会为我们初始化mysql数据库,同时在命令行打印出初始的root用户的密码。

    image.png

    这里我的密码是:dUP6lKU+c3&s.

    同时我们进入在my.ini配置文件中datadir属性指向的地址,我们会发现其中多了很多文件:

    image.png

    接下来我们在Powerschell窗口中继续输入命令Start-Process -FilePath powershell.exe -ArgumentList "-noprofile -command $pwd\mysqld install;pause" -Verb runas.

    该命令会以管理员的身份打开一个新的Powerschell窗口,并执行mysqld install命令,完成mysql的安装工作。

    最后在Powerschell窗口中继续输入命令Start-Process -FilePath powershell.exe -ArgumentList "-noprofile -command net start mysql;pause" -Verb runas

    该命令将会为我们启动mysql服务。

    至此,我们就已经成功启动了一个mysql服务。

    Powerschell窗口中继续输入命令./mysql -uroot -p"dUP6lKU+c3&s"即可连接到本地的mysql服务器了,这里的"dUP6lKU+c3&s"是我们在前面获取到的mysql密码哟。

linux

  • step1: 输入命令:yum install -y mariadb-server mariadb开始安装mariadb服务器.
  • step2: 启动MariaDB:systemctl start mariadb
  • step3: 修改root用户密码:mysqladmin -u root password "dUP6lKU+c3&s"

    密码dUP6lKU+c3&s是在windows ZIP安装方式中系统自动生成的密码,为了统一不同安装方式之间的密码,所以这里采用一样的密码。

安装完成。

  • 提供一个安装mysql的脚本
#! /bin/sh
##======================================================================
##  MYSQL安装脚本
##  AUTHOR: JPanda
##  EMAIL: jpanda@aliyun.com
##  DATE: 2019年9月17日
##  ======================================================================

newRootPassword="dUP6lKU+c3&s"
newUser="admin"
newUserPassword="dUP6lKU+c3&s"
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum localinstall -y  mysql80-community-release-el7-3.noarch.rpm  
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
sudo yum install -y mysql-community-server
## my.conf
echo "[mysqld]
#数据库数据存放位置
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
#错误日志
log-error=/var/log/mysqld.log
#pid文件
pid-file=/var/run/mysqld/mysqld.pid
sql_mode='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
#开启慢查询
slow_query_log = on
#设置慢查询存放方式为文件, 并指定文件存放位置
slow_query_log_file = /var/log/mysql/slow-query.log
innodb_buffer_pool_size = 1073741824
innodb_flush_log_at_trx_commit = 2
#开启mysql事件
event_scheduler = 1
#设置连接超时时间
connect_timeout = 30
#连接数
max_connections = 800
" > /etc/my.cnf
## 开机启动
systemctl enable mysqld
## 启动服务
systemctl start mysqld
## 查看服务状态
systemctl status mysqld.service 

## 修改Root用户默认密码
oldPassword=$(grep 'temporary password' /var/log/mysqld.log|tail -1 |awk '{print $11}')
mysqladmin -u root -p$oldPassword password $newRootPassword


function executeSql(){
mysql -h${HOSTNAME:-127.0.0.1}  -P${PORT:-3306}  -u${USERNAME:-root} -p${newRootPassword} -e "$1"
}

##降低密码级别
changePasswordLevel="set global validate_password_policy=LOW;"
executeSql "$changePasswordLevel"

## 新建用户
createAdmin="CREATE USER '$newUser'@'%' IDENTIFIED BY '$newUserPassword';grant all privileges on *.* to '$newUser'@'%' identified by '$newUserPassword';flush privileges;";
executeSql "$createAdmin"

docker

安装docker

在docker容器中安装mysql并运行

  • step1: 下载docker镜像:docker pull mysql

  • step2: 启动镜像并配置默认密码:docker run --name mysql -e MYSQL_ROOT_PASSWORD=dUP6lKU+c3&s -p 3306:3306 -d mysql

    安装完成。

推荐自己的两个开源小工具

  • Markdown编辑工具,支持主流的Plantuml

    • 基于开源软件二次开发的一款markdown工具,支持emoji,plant uml,yaml等特性。
    • 原创的窗口同步算法,让编写体验更友好
    • 支持同步预览,仅编辑,仅预览等功能
    • 配合下面的截图工具一起使用,感受更顺畅的书写体验
      二次开发的Markdown编辑工具
  • 截图上传工具,支持一键将截图上传到云端,并将访问地址以指定格式,回填到剪切板中

    • JPanda Snapshot支持将截图上传到多种不同的环境中。

      目前包括: 阿里云,京东云,七牛云,GITHUB,GITEE,OSCHINA,简书,imgurl图床,SM图床以及本地不存储

    • JPanda Snapshot在完成图片上传之后,允许将图片或图片地址处理成不同的数据类型。

      目前包括: MARKDOWN语法真实访问地址,图片本身

    • 相对完善的图片编辑功能。

      目前支持: 绘制圆形绘制矩形绘制箭头自由画笔文字马赛克

    • 图钉功能-允许将截图固定在屏幕窗口,且允许为该截图添加简单描述。
    • 辅助功能,取色器,获取鼠标位置
    • 为了保存访问云环境的相关数据,支持启用密码。
    • 失败任务列表,允许重新上传处理失败的图片。

熊猫截图

关注我,一起学习更多知识

关注我