Java数据库配置一

目录

MySQL 5.7.17 解压版安装配置(Windows)

基础介绍:


MySQL安装配置

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

若下载的是 5.7.18后将没有配置文件,需要下载之前的版本,比如5.7.17,解压后配置文件即可,注意路径存放在根目录下就好,否则路径太多会造成其他问题。

配置方法

以 MySQL 5.7.17 为例
(1)下载压缩包并解压到根目录,如下,
图1
(2)进入解压缩目录,默认是没有 data 这个文件夹的,后面初始化才生成,
图2
(3)修改 my-default.ini 编辑内容,添加以下语句(路径自行定义,打开端口)

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
#############编辑添加如下内容,注意位置必须在 [mysqld] 后####################
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
basedir=D:\MySql5.7.17\mysql-5.7.17-winx64
datadir=D:\MySql5.7.17\mysql-5.7.17-winx64\data
port = 3306
[client]
default-character-set=utf8
########client 端设置字符编码############

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

(4)初始化,安装两个步骤(windows 10 版本的,通过cmd右键以管理员运行,避免打开powershell,当然 powershell也可以运行,视个人喜好)
打开执行以下命令(进入D盘命令,直接按D:,D:\MySql5.7.17>cd mysql-5.7.17-winx64\bin),进入相应目录

D:\MySql5.7.17\mysql-5.7.17-winx64\bin> .\mysqld.exe --initialize       #生成data文件夹
D:\MySql5.7.17\mysql-5.7.17-winx64\bin> .\mysqld.exe --install mysql5.7.17  #执行安装服务,可以起名,比如,安装服务名为mysql5.7.17,则打开服务会有mysql5.7.17的服务名称,若不起名,默认为 mysql
D:\MySql5.7.17\mysql-5.7.17-winx64\bin>mysqld --install
**Service successfully installed.**

D:\MySql5.7.17\mysql-5.7.17-winx64\bin>net start mysql
**MySQL 服务正在启动 .
MySQL 服务已经启动成功。**


D:\MySql5.7.17\mysql-5.7.17-winx64\bin>

(5)以上正常情况结果,在打开系统服务时,可见服务已启动
图3
(6)有可能会在启动MySQL时出错,有两种情况,一是配置文件配置错误,之前参照的文档中有配置 my.ini 时如下斜体这段,经查看错误日志发现这个配置造成启动失败,报错如下,删除该配置,重新启动OK。
[WinMySQLadmin]
Server=D:\MySql5.7.17\mysql-5.7.17-winx64\bin\mysqld.exe

PS D:\MySql5.7.17\mysql-5.7.17-winx64\bin> net start mysql5.7.17
mysql5.7.17 服务正在启动 ..
mysql5.7.17 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。

PS D:\MySql5.7.17\mysql-5.7.17-winx64\bin>

(7)还有一种情况是数据库未初始化,执行(4)中的初始化命令
(8)若配置错误,又执行了安装 MySQL 后,可以通过 remove 命令删除刚刚安装的服务,比如,我安装的 MySQL 服务名为 mysql5.7.17 ,现在删除该服务,在同样路径下执行删除操作,需要加上服务名,否则无法删除,删除成功才有提示,只执行 mysqld -remove 会直接回车,并没删除OK,此时会发现 服务中原来的MySQL7.7.17 消失。

D:\MySql5.7.17\mysql-5.7.17-winx64\bin>mysqld -remove mysql5.7.17
**Service successfully removed.**

D:\MySql5.7.17\mysql-5.7.17-winx64\bin>

(9)登录测试
注意一开始初始化时我未指定密码,该密码是自动分配的,在哪找呢?
默认控制台刚刚未输出,需要到 data 文件夹的 *.err 日志文件中找
搜索root@localhost,会在后面看到当时的初始密码(冒号后面就是密码)

D:\MySql5.7.17\mysql-5.7.17-winx64\bin>mysql -u root -p
Enter password: ************

这里写图片描述
(10)修改密码,重启 MySQL 服务生效

mysql> alter user 'root'@'localhost'identified by '123456';
Query OK, 0 rows affected (0.29 sec)

mysql>

以上配置在使用 java 应用程序项目中和 JavaWeb 中均可以。
但是在 Java 项目和 JavaEE 项目之间会有区别,就是安装 Tomcat 时自己创建的 D 盘根目录下一个文件夹名为 Program Files ,中间的空格会造成影响。
这个问题在 Java 应用程序项目中不会有问题,可以增删改查数据库,但是在 JavaEE 项目中,部署项目到 Tomcat 后,启动服务,执行增删改查动作时会报错,提示系统找不到指定路径,可是路径明明是对的,但是这个 Program Files 这中间的空格会显示 %20 ( String中遇到空格就替换为%20 无法编译通过),因为我的路径是通过 String 字符串获取的。
解决办法,在 String 获取的路径后,使用如下方式,替换原来的语句
URLDecoder.decode(strFile,”UTF-8”)

代码块

代码块语法遵循标准markdown代码,例如:

public void getConnection() {

        String strFile=this.getClass().getResource("/").getPath();

        try {
            System.out.println("StrFile :" +URLDecoder.decode(strFile,"UTF-8"));
            conn = com.util.DBUtilities.connect(URLDecoder.decode(strFile,"UTF-8") + configFile);
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值