开源 > 闭源

开源软件,即使有后门或流氓行为,也比较容易被发现

非营利组织 > 商业公司

对于大型商业公司,收集用户信息会带来商业利益,所以商业公司有收集隐私的热情

因为 mysql 涉及到信息数据安全问题,可以对下载文件进行 MD5 验证:

windows 系统 cmd 验证命令

certutil -hashfile D:\mysql-5.7.17-winx64.zip MD5certutil -hashfile D:\mysql-5.7.17-winx64.zip SHA1certutil -hashfile D:\mysql-5.7.17-winx64.zip SHA256linux 系统 md5 验证命令

md5sum mysql-5.7.17-winx64.zipsha1sum mysql-5.7.17-winx64.zipsha256sum mysql-5.7.17-winx64.zip二、环境准备2.1 解压 MySQL 安装包

使用压缩工具解压 MySQL 安装包,解压工具推荐安全可靠的:7-Zip

建议:解压目录全为英文且不带空格。

在 MySQL 安装目录下找到my-default.ini文件 ,复制一份到当前目录下,并修改文件名为my.ini ,用文本编辑器编辑这个文件。

[mysql]# 设置客户端默认字符集default-character-set=utf8[mysqld]# These are commonly set, remove the # and set as required.# basedir = .....# datadir = .....# port = .....# server_id = .....# 设置3306端口port = 3306# 设置安装目录basedir=C:\Programs\mysql-5.7.17-winx64# 设置数据存放目录datadir=C:\Programs\mysql-5.7.17-winx64\data# 设置最大连接数max_connections=200# 设置服务端字符集character-set-server=utf8# mysql5.7 版本中可以配置 STRICT mode(严格模式)sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 以上配置中basedir和datadir必须配置,并且配置成当前 MySQL 的解压路径。

扩展:常见的 sql_mode 值说明

ONLY_FULL_GROUP_BY:出现在 select 语句、having 条件和 order by 语句中的列,必须是 group by 的列或者依赖于 group by 列的函数列。

NO_AUTO_VALUE_ON_ZERO:该值影响自增长列的插入。默认设置下,插入 0 或 NULL 代表生成下一个自增长值。如果用户希望插入的值为 0,而该列又是自增长的,那么这个选项就有用了。

STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制。

NO_ZERO_IN_DATE:这个模式影响了是否允许日期中的月份和日包含 0。如果开启此模式,"2018-10-00"是不允许的,但是 "0000-02-01" 是允许的。它实际的行为受到 strict mode 是否开启的影响。

NO_ZERO_DATE:设置该值,MySQL 数据库不允许插入零日期。它实际的行为受到 strict mode 是否开启的影响。

ERROR_FOR_DIVISION_BY_ZERO:在 insert 或 update 过程中,如果数据被零除,则产生错误而非警告。如果未给出该模式,那么数据被零除时 MySQL 返回 NULL。

NO_AUTO_CREATE_USER:禁止 grant 创建密码为空的用户。

NO_ENGINE_SUBSTITUTION:如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常。

PIPES_AS_CONCAT:将”||”视为字符串的连接操作符而非或运算符,这和 Oracle 数据库是一样的,也和字符串的拼接函数 Concat 相类似。

ANSI_QUOTES:启用 ANSI_QUOTES 后,不能用双引号来引用字符串,因为它被解释为识别符。

在系统开始菜单中找到cmd程序,右击选择以管理员身份运行运行程序,进入 dos 窗口,依次执行以下命令:

cd C:\Programs\mysql-5.7.17-winx64\bin    # 切换到 MySQL 安装目录的 bin 文件夹下mysqld -install    # MySQL 初始化操作提示:"Service successfully installed.",则表示初始化成功。

MySQL 初始化成功之后,系统服务列表中会多出MySQL服务项:

运行菜单输入services.msc 得到系统服务窗口,手动启动服务,也可右击属性,启动类型选择"自动"。

在 cmd 窗口中执行命令:

net start mysql    #开启 mysql 服务net stop mysql    #停止 mysql 服务3.3 删除 MySQL 系统服务以管理员身份运行 cmd ,执行:

sc delete MySQL四、密码设置4.1 初始化密码第一次安装 MySQL 时,数据库系统是没有密码的,因此命令也不用带密码访问:

mysql -u root -p执行完上述命令,出现Enter password :,此时可以输入一个密码,此密码就是root帐号的初始密码。如果看到提示成功信息则表示初始化密码完成。

step 1 无密码访问配置

修改参数文件以跳过密码验证

windows 系统中找到 MySQL 安装文件夹中的my.ini配置文件( Linux 系统的配置文件为my.cnf),在[ mysqld ]中加上一行跳过权限限制的配置:

skip-grant-tables配置完成之后,重启 MySQL 服务。

step 2 设置新密码

使用 cmd 窗口执行mysql -uroot -p命令,提示输入密码。直接回车即可。

update mysql.user set authentication_string=password('新密码') where user='root';step 3 刷新权限

修改完成之后,需要刷新权限才能正式生效。

flush privileges;step 4 删除无密码配置

关闭 MySQL,将 2.3 小节中的配置注释掉,重启 MySQL 服务即可。

当前用户修改自己的密码:

set passwrod=password('新密码');root 管理员修改指定用户密码:

set pasword for '用户名'@'主机名' = password('新密码');相关链接: