基础环境的安装以及源码的导入
安装Mysql服务器
官方文档:安装和升级MySQL
这里给出在windows
和linux
中安装mysql
服务器的方法,同时补充一种在docker
中安装mysql容器的方法。
TIPS: 因为mysql
在centos7
中已经开始收费,因此本文在linux中实际安装的是mariadb
。
windows
在windows下使用mysql服务器有两种方式,一种是使用mysql提供的MSI Installer
安装Mysql服务器,一种方式是直接下载一个zip
文件来启动mysql服务器。
MSI Installer
官方文档:MySQL安装程序的安装工作流程里包含了更详细的安装步骤介绍。
- step1:
点击进入mysql MSI Installer下载页面点击下载获取安装包。
或者直接直接点击下载 mysql MSI Installer。
- step2:
文件下载完成后,我们会得到一个名为mysql-installer-community-8.0.17.0.msi
的安装包,点击运行该安装包,进入Mysql
安装界面。
勾选i accept the license terms
,之后点击Next
按钮,进入选择安装类型
界面。
这里勾选Server only
只安装Mysql
服务器,点击Next
继续操作进入安装界面
。
点击Execute
按钮执行安装操作。
耐心等待安装完成。
点击Next
按钮进入产品配置界面,准备配置产品。
点击Next
按钮高可用配置,选择Standalone Mysql Server/Classic Mysql Replication
安装独立的Mysql
服务器。
点击Next
按钮,进入服务器类型和网络配置界面。
服务器类型我们选择Development Comouter
,该配置表示Mysql
服务器运行在我们的开发机器上,因此Mysql
在运行期间将会使用最少的内存资源。
网络连接方面我们维持原有的配置即可,系统默认使用3306
端口提供服务。
点击Next
按钮,进行身份授权验证配置界面。
此处提供了两种身份验证策略,一种是Mysql 8+
版本提供的新的密码验证方案,一种是传统的身份验证方法。
这里我们选择使用传统的身份验证方法。
点击Next
按钮,进入用户账户和角色的配置界面,这里我们配置root
用户的密码为dUP6lKU+c3&s
,不进行添加用户的操作。
密码
dUP6lKU+c3&s
是在ZIP安装方式中系统自动生成的密码,为了统一两种安装方式之间的密码,所以这里采用一样的密码。
点击Next
按钮,进入Windows服务配置界面,根据自己的需求决定是否开机启动,其余保持默认配置即可。
点击Next
按钮,进入应用配置界面。
点击execute
按钮开始应用配置。
点击Finish
完成Mysql Server
的安装。
点击Next
按钮,完成产品的配置工作。
点击Finish
完成安装工作。
ZIP免安装版
官方文档:使用noinstallZIP存档在Microsoft Windows上安装MySQL
- step1: 点击进入mysql下载页面点击下载按钮获取ZIP压缩包。
或者点击直接下载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
文件。
文件夹中的文件大致如下:
(不重要的操作)
将mysql-8.0.17-winx64
文件夹移动到自己常用软件的安装位置,便于后续使用。
此处我将该文件夹移动到目录D:usrlocal
下,因此该文件夹的完全访问地址为:D:usrlocalmysql-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:usrlocalmysql-8.0.17-winx64 # 配置mysql数据库的数据的存放目录 datadir=E:datamysqldata # 允许最大连接数 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
用户的密码。
这里我的密码是:dUP6lKU+c3&s
.
同时我们进入在my.ini
配置文件中datadir
属性指向的地址,我们会发现其中多了很多文件:
接下来我们在Powerschell
窗口中继续输入命令Start-Process -FilePath powershell.exe -ArgumentList "-noprofile -command $pwdmysqld 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
- 在
windows
中安装docker
,官方文档:Install Docker Desktop for Windows - 在
linux
中安装docker
:- 官方文档:Get Docker Engine - Community for CentOS
- 博客:安装docker,并配置使用阿里镜像
- 在
Mac
中安装docker
,官方文档:Install Docker Desktop for Mac
在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[1]
- 基于开源软件二次开发的一款markdown工具,支持
emoji
,plant uml
,yaml
等特性。
- 原创的窗口同步算法,让编写体验更友好
- 基于开源软件二次开发的一款markdown工具,支持
-
- 支持同步预览,仅编辑,仅预览等功能
- 配合下面的截图工具一起使用,感受更顺畅的书写体验
- 截图上传工具,支持一键将截图上传到云端,并将访问地址以指定格式,回填到剪切板中[2]
JPanda Snapshot
支持将截图上传到多种不同的环境中。
目前包括:阿里云
,京东云
,七牛云
,GITHUB
,GITEE
,OSCHINA
,简书
,imgurl图床
,SM图床
以及本地
和不存储
。
JPanda Snapshot
在完成图片上传之后,允许将图片或图片地址处理成不同的数据类型。
目前包括:MARKDOWN语法
,真实访问地址
,图片本身
。
-
- 相对完善的图片编辑功能。
目前支持:绘制圆形
、绘制矩形
、绘制箭头
、自由画笔
、文字
、马赛克
- 图钉功能-允许将截图固定在屏幕窗口,且允许为该截图添加简单描述。
- 相对完善的图片编辑功能。
-
- 辅助功能,
取色器
,获取鼠标位置
- 为了保存访问云环境的相关数据,支持启用密码。
- 辅助功能,
-
- 失败任务列表,允许重新上传处理失败的图片。
关注我,一起学习更多知识
http://weixin.qq.com/r/ES3I0PnEhaT6rb2z93gD (二维码自动识别)
参考资料
[1]
Markdown编辑工具,支持主流的Plantuml: https://github.com/jpanda-cn/markdown-writer-fx
[2]
截图上传工具,支持一键将截图上传到云端,并将访问地址以指定格式,回填到剪切板中: https://github.com/jpanda-cn/screenshot-oss