一 安装MySQL解压版

此部分参看Win10安装MySQL5.7.22 解压缩版(手动配置)方法

1、下载MySQL

MySQL官网下载地址 mysql-5.7.26-winx64.zip 解压之后生成 mysql-5.7.26-winx64 文件夹。

2、部署MySQL到D盘

在D盘创建Mysql目录 D:\MySQL 将刚才解压得到的 mysql-5.7.26-winx64 文件夹放到D:\MySQL目录下。此时D:\MySQL\mysql-5.7.26-winx64目录下没有data文件夹。

3、新建my.ini文件

D:\MySQL\mysql-5.7.26-winx64目录下新建my.ini文件,复制如下内容到my.ini文件中。

[mysqld]
port = 3306
basedir=D:\MySQL\mysql-5.7.26-winx64
datadir=D:\MySQL\mysql-5.7.26-winx64\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8

4、配置环境变量:

电脑属性-》高级系统设置-》

在系统变量部分新建一个变量名:MYSQL_HOME,变量值:D:\MySQL\mysql-5.7.26-winx64

5、MySQL安装过程:

管理员身份运行cmd

进入如下目录:D:\MySQL\mysql-5.7.26-winx64\bin

运行命令:mysqld --initialize (此时会生成data目录)

运行mysqld -install (安装)

运行net start mysql (启动mysql服务)

此时可以在 任务管理器——服务 中看到MySQL服务

6.设置root账户密码:

my.ini文件(MySQL的配置文件)的[mysqld]下加一行skip-grant-tables

然后在任务管理器中重启MySQL服务

重启MqSQL服务后,运行mysql -u root -p,可以成功登入mysql

然后更新root账户的密码为'root'

命令:update mysql.user set authentication_string=password("root") where user="root";

然后输入flush privileges;(刷新账户信息)

执行quit或ctrl+Z退出

然后将my.ini文件中刚才加的skip-grant-tables这一行删掉,保存后再重启MySQL服务

然后运行mysql -u root -p root就可以用root用户名和root密码登陆了

7.重装的问题:

我在第一次装的mysql的时候,文件放在C盘,提示权限的问题比较烦人,在尝试重装的过程中遇到问题,提示mysql已经安装,在网上看到一篇帖子可以解决问题:

https://jingyan.baidu.com/article/5d368d1eaf46ea3f61c0576f.html

基本步骤包括停掉MySQL服务,删除注册表,删除之前的my.ini文件,运行几个命令进行删除,最后最好再重启一下电脑就可以重新安装了

二 安装sonar服务端

1. MySQL安装,参见前面第一部分。

2. 创建sonar用户和数据库.txt

这里是直接用命令行执行sql文件内容,实际执行时可以进入MySQL命令行单条执行。

E:\sonar_work\sonarqube-6.0\conf>mysql -u root -p < create_database.sql
Enter password: *******

E:\sonar_work\sonarqube-6.0\conf>

以下是create_database.sql文件内容:

create database sonar character set utf8 collate utf8_general_ci;
create user 'sonar' identified by 'sonar';
grant all on sonar.* to 'sonar'@'%' identified by 'sonar';
grant all on sonar.* to 'sonar'@'localhost' identified by 'sonar';
flush privileges;

3. 配置root远程访问.txt:

(这里实际上是把mysql数据库的user表中root用户的host字段设置为%,从而不限制root用户的远程访问。不过sonar服务好像只需要前面create_database.sql中创建的sonar用户,所以此步骤是否必要需要后面再研究一下。)

Enter password: *******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.22-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user from user;
ERROR 1046 (3D000): No database selected
mysql> use mysql;
Database changed
mysql> select user from user;
+---------------+
| user          |
+---------------+
| mysql.session |
| mysql.sys     |
| root          |
+---------------+
3 rows in set (0.00 sec)

mysql> select user,host from user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select user,host from user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

mysql> flush;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '' at
line 1
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

mysql>

4. sonar服务器内存要求,总共需要申请8G内存

sonar-ce	4G
sonar-web	1G
sonar-es	1G
os		2G

5. 安装jdk8

D:\Java\jdk1.8.0_112 配置环境变量。

变量名	变量值【需要根据自己安装的目录进行修改】	操作类型
sonar_home	E:\sonarqube-6.0	新增
JRE_HOME8	D:\Java\jdk1.8.0_112\jre	新增
JAVA_HOME8	D:\Java\jdk1.8.0_112	新增
path	在path环境变量之前加上%sonar_home%\bin;	修改

6. 解压:

将《sonarqube-6.0-内存参数修改后.zip》解压到某盘符根目录下,例如E盘,解压后效果如下所示:

sonar如何扫描maven项目 sonar代码扫描规则_数据库

7. 设置IP:

sonar如何扫描maven项目 sonar代码扫描规则_mysql_02

sonar如何扫描maven项目 sonar代码扫描规则_MySQL_03

下面为上图中sonar.properties文件的内容:

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.web.javaOpts=-Xmx1024m -Xms256m -XX:+HeapDumpOnOutOfMemoryError
sonar.ce.javaOpts=-Xmx1024m -Xms256m -XX:+HeapDumpOnOutOfMemoryError
# sonar.jdbc.url=jdbc:mysql://192.168.102.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
#sonar.web.host=192.168.102.93
sonar.web.host=127.0.0.1
sonar.web.port=9000



# sonar.jdbc.username=sonar
# sonar.jdbc.password=sonar
# sonar.jdbc.url=jdbc:mysql://192.168.102.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
# sonar.web.javaOpts=-Xmx1024m -Xms1024m -XX:+HeapDumpOnOutOfMemoryError
# sonar.ce.javaOpts=-Xmx4096m -Xms4096m -XX:+HeapDumpOnOutOfMemoryError
# sonar.web.host=192.168.102.1
# sonar.web.port=9000

8. 服务启动

双击E:\sonarqube-6.0\bin\windows-x86-64\StartSonar.bat

sonar如何扫描maven项目 sonar代码扫描规则_MySQL_04

启动后显示的信息:

sonar如何扫描maven项目 sonar代码扫描规则_数据库_05

9. 服务关闭

E:\sonarqube-6.0\bin\windows-x86-64目录下并没有一个StopSonar.batStartSonar.bat对应。 所以关闭时需要通过直接关闭进程来实现。

首先命令行运行netstat -ano命令查看占用9000端口的进程的PID(参见下方,此次启动对应的进程PID为7528)。

Microsoft Windows [版本 10.0.17134.765]
(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\zlcp>netstat -ano

活动连接

  协议  本地地址          外部地址        状态           PID
  TCP    0.0.0.0:22             0.0.0.0:0              LISTENING       4812
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       928

  TCP    127.0.0.1:9000         0.0.0.0:0              LISTENING       7528

  TCP    127.0.0.1:9001         0.0.0.0:0              LISTENING       6112
  TCP    127.0.0.1:9001         127.0.0.1:64641        ESTABLISHED     6112
  TCP    127.0.0.1:9001         127.0.0.1:64642        ESTABLISHED     6112
  ······

C:\Users\zlcp>

打开任务管理器,在‘详细信息’页签可以看到启动sonar服务对应的四个进程:下图中java.exe对应的四个。其中PID为7528的直接影响浏览器可否查看服务。

sonar如何扫描maven项目 sonar代码扫描规则_bc_06

两个javaw.exe对应的进程应该是eclipse启动tomcat对应的(关闭eclipse之后还有一个在运行)。