绿色版MySql安装及启动时:"MYSQL 服务无法启动"的3534问题,修改密码
首先下载
可以去mysql官网下载:https://dev.mysql.com/downloads/mysql/ 点击下载
我下载的版本是,下载以后解压
放到自己需要的位置之后配置环境变量,在系统属性 --> 高级 --> 高级 --> 系统变量 --> path中添加 “路径/bin” 如我的:D:\Program Files\mysql-8.0.11\bin
安装
首先需要新建一个配置文件 my.ini,内容及注释如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录,根据自己目录修改
basedir=D:\Program Files\mysql-8.0.11
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\mysql-8.0.11\data
# 允许最大连接数
max_connections=15
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
###下面的这些配置我没用####
#忘记密码时使用
#skip-grant-tables
#设置协议认证方式
#default_authentication_plugin=mysql_native_password
设置完的文件结构如下,新建的的my.ini的位置
以管理员身份运行cmd,否则可能会出现权限不足,引起安装错误
输入的命令及显示如下:
D:\Program Files\mysql-8.0.11>cd bin //切换到bin目录下
D:\Program Files\mysql-8.0.11\bin>mysqld --remove //我以前安装过mysql,先移除
Service successfully removed.
D:\Program Files\mysql-8.0.11\bin>mysqld --install //安装mysql,注意这里都是两个小横线
Service successfully installed.
D:\Program Files\mysql-8.0.11\bin>
D:\Program Files\mysql-8.0.11\bin>mysqld --initialize --console //注意这里会生成一个密码
2018-05-17T07:59:00.988023Z 0 [System] [MY-013169] [Server] D:\Program Files\mysql-8.0.11\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 3556
2018-05-17T07:59:25.239288Z 5 [Note] [MY-010454] [Server] A temporary password is generated for aaa@qq.com: 3<?*Yfr3>gdw //这里3<?*Yfr3>gdw就是随机生成的密码
2018-05-17T07:59:45.170784Z 0 [System] [MY-013170] [Server] D:\Program Files\mysql-8.0.11\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
D:\Program Files\mysql-8.0.11\bin>net start mysql //启动mysql服务
MySQL 服务正在启动 ..
MySQL 服务已经启动成功。
D:\Program Files\mysql-8.0.11\bin>mysql -uroot -p //登录mysql
Enter password: ************ //密码就是上面的密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.11
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> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; //修改密码
Query OK, 0 rows affected (0.18 sec)//修改密码成功
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.10 sec)
mysql>
到这里,就安装成功了。
-------------------我是美丽的分界线,下面是我查的一些资料,在这里备份一下-----------------------------
Windows10系统下,彻底删除卸载MySQL
1》停止MySQL服务
开始-》所有应用-》Windows管理工具-》服务,将MySQL服务停止。
2》卸载mysql server
控制面板\所有控制面板项\程序和功能,将mysql server卸载掉。
3》将MySQL安装目录下的MySQL文件夹删除(我的安装目录是C:\Program Files (x86)\MySQL)
4》运行“regedit”文件,打开注册表。
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。
删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹。
如果没有相应的文件夹,就不用删除了。
5》删除C盘下的“C:\ProgramData\MySQL ”文件夹,如果删除不了则用360粉碎掉即可,
该programData文件默认是隐藏的,设置显示后即可见,或者直接复制 C:\ProgramData 到地址栏回车即可进入!
将整个MySQL文件夹删除掉。。。
6》开始-》所有应用-》Windows管理工具-》服务
如果已经将MySQL卸载,但通过“开始-》所有应用-》Windows管理工具-》服务”查看到MySQL服务仍然残留在
系统服务里。又不想改服务名,改怎么办呢。
只要在CMD里输入一条命令就可以将服务删除:
sc delete mysql //这里的mysql是你要删除的服务名
这样一来服务就被删除了。
然后,就可以重装MySQL数据库了!!!
二、中文乱码修改
1. 从服务端进行修改
show variables like "%char%";
然后可能显示如下信息,注意红色部分,不同的用户可能实际情况不同,但是需要保证除了 filesystem为binary外,其他都为utf8:
+--------------------------+---------------+ | Variable_name | Value | +--------------------------+---------------+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | utf8 | | character_set_system | utf8 | +--------------------------+-------------+
2. 通过如下SQL语句进行修改,全部设置为utf8即可:
#设置数据库编码信息 SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_database ='utf8'; SET character_set_results='utf8'; SET character_set_server='utf8';
3、SQL连接字符串加上?useUnicode=true&characterEncoding=utf-8
jdbc.url = jdbc:mysql://localhost:3306/bsframe?useUnicode=true&characterEncoding=utf-8
一般按照上述步骤后,就不会出现乱码了!
三、修改为任意用户可以连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
这里的yourpassword 是你设定的密码,请自行修改。
新建配置文件 my.ini,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[Client] port = 3306 [mysqld] port = 3306 basedir=D:/APP/MySQL datadir=D:/APP/MySQL/data max_connections=200 character-set-server=utf8 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #忘记密码时使用 #skip-grant-tables #设置协议认证方式 default_authentication_plugin=mysql_native_password [mysql] default-character-set=utf8 |
设置环境变量
以管理员身份运行 cmd 否则可能会出现权限不足的问题,下列操作均在cmd中运行
安装并启动MySQL服务
mysqld --install
返回结果为 Service successfully installed
net start MySQL
或在服务中启动mysql服务
安装
mysqld --initialize-insecure
这个命令在运行时,光标一直闪,表示正在安装中,直到cmd可以进行输入,即是安装完成;
我看别人有这样安装的:mysqld --initialize --console
两者的区别是上面这个会展示安装过程并生成一个默认的数据库密码,而我用的方法,不展示安装过程,默认密码为空。
设置密码
1 2 3 |
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '111111'; FLUSH PRIVILEGES; |
这期间还涉及MySQL的密码认证插件是mysql_native_password
,而现在使用的是caching_sha2_password
。
因为当前有很多数据库工具和链接包都不支持caching_sha2_password
,为了方便,我暂时还是改回了mysql_native_password
认证插件。
在MySQL中执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
修改密码验证插件,同时修改密码。
如果想默认使用mysql_native_password
插件认证,可以在配置文件中配置default_authentication_plugin
项,这个在新建my.ini
中已经设置过了。 参考链接
1 2 |
[mysqld] default_authentication_plugin=mysql_native_password |
开启远程访问
1 2 3 |
CREATE USER 'root'@'%' IDENTIFIED BY '111111'; GRANT ALL ON *.* TO 'root'@'%'; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111'; |
在网上看到了两种开启远程方法的方法:
在使用第一种方法时会报这样的错误:
开启远程访问这块还分为root账户的远程访问或者指定某个非root账户,网上有很多,就不说明了。
安装好后,至今还没有什么问题,若你预遇见了问题,欢迎和我交流。
引用及参考:
1):https://blog.csdn.net/Mine_MuYan/article/details/80278690
2):https://www.cnblogs.com/LiuChunfu/p/6426918.html
上一篇: VASP(1)_参数测试_截断能(ENCUT)测试
下一篇: php读取sqlite入门实例