最近想学习java的jdbc,完成注册登录系统,有了php的经验,,就简单多。但是php是基于wamp集成环境的,当时就是由于win10安装mysql老是错误,所以选择了集成环境,这对入门来讲降低了很大的难度。这次终于又想安装mysql,试了两次。没想到可以了,输入net start mysql 服务器启动成功,我还是挺高兴的
mysql的下载:
这里给出链接
链接:https://pan.baidu.com/s/1POzHbLdmau0feWusdYTS2w
提取码:iy62
SQLyog链接:
链接:https://pan.baidu.com/s/1bwQxd449-JxsOhLKAEgMFg
提取码:bvmz
也可以官网下载:
1.进入地址:https://dev.mysql.com/downloads/mysql/ 下载mysql-8.0.11-winx64
(推荐下第一个吧,第二个解压之后右1.6G)
2.解压zip包,并将解压文件放入一个文件夹下,如图:
3.配置环境变量(目的是为了避免在CMD窗口下操作时反复切换路径)
在Path下添加 D:\Program Files\mysql-8.0.11-winx64\bin
4.编写配置文件
我们发现解压后的目录并没有my.ini(或my-default.ini)文件,没关系可以自行创建。在安装根目录下添加 my.ini,比如我这里是:D:\Program Files\mysql-8.0.11-winx64\my-default.ini,写入基本配置:
注意:data文件夹是初始化数据库之后才有的,my-default.ini文件默认是没有的,自己可以编写如下:
[mysqld]
#设置3306端口 port=3306
#设置mysql的安装目录 basedir=D:\Program Files\MySQL
#设置mysql数据库的数据的存放目录 datadir=D:\Users\qiuzhiwen\MySQL\Data
#允许最大连接数 max_connections=200
#允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10
#服务端使用的字符集默认为UTF8 character-set-server=utf8
#创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql]
设置mysql客户端默认字符集 default-character-set=utf8 [client]
#设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
其中basedir和datadir可以根据自己的实际情况来决定!
我的是
basedir=D:\Download\mysql-8.0.18-winx64
datadir=D:\Download\mysql-8.0.18-winx64\Data
5.按“win”键打开开始菜单,在搜索框中输入“cmd”,在搜索结果中选中“命令提示符”程序,右键选择“以管理员身份运行”
(提示:若不以管理员身份运行,可能出现mysql Install/Remove of the Service Denied!)
6.MySQL服务安装及初始化
执行mysqld install命令当出现Service successfully installed时表示mysql服务安装完成
Mysql初始化
在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码,比如:
注意!执行输出结果里面有一段: [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: NgjbnKGd2_!其中root@localhost:后面的“NgjbnKGd2_!”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。要是手贱,关快了,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。
参考:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html
安装完成之后,就可以通过命令net start mysql启动MySQL的服务了。
注意
如果出现:
发生系统错误 3。 系统找不到指定的路径。
可以这样
方法:删除MYSQL服务,重新安装即可启动
mysqld -remove
mysqld -install
net start mysql
7.更改密码和密码认证插件
进入D:\Program Files\mysql-8.0.11-winx64\bin路径下,执行mysql -u root -p命令,然后输入之前保存的密码,我这里是Ng*jbnKGd2_!
修改用户密码,在MySQL中执行命令:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
修改密码验证插件,同时修改密码。
可以用 命令查看一下默认安装的数据库:
show databases;
use mysql;
show tables;
看到默认初始化了mysql数据库,其中user表里面存储MySQL用户信息。我们可以看一下默认MySQL用户:
select user,host,authentication_string from mysql.user;
管理员root的host是localhost,代表仅限localhost登录访问。如果要允许开放其他ip登录,则需要添加新的host。如果要允许所有ip访问,可以直接修改成“%”
创建用户:
CREATE USER ‘xxh’@’%’ IDENTIFIED WITH mysql_native_password BY ‘xxh123!@#’;
#(需要注意:mysql8.0加密方式修改了)
#检查用户
select user, host, plugin, authentication_string from user\G;
授权远程数据库
#授权所有权限
GRANT ALL PRIVILEGES ON . TO ‘xxh’@’%’;
#授权基本的查询修改权限,按需求设置
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON . TO ‘xxh’@’%’;
查看用户权限
show grants for ‘xxh’@’%’;