我下载了mysql-8.0.23-winx64.zip
下载地址: https://dev.mysql.com/downloads/file/?id=494993
2、配置my.ini
解压后的目录中是没有的my.ini文件的,自行添加的my.ini,写入以下数据
datadir=C:\Program Files\MySQL\Data没有Data路径没关系先写,后面会自己创建放数据库的
注意:此时你的电脑已经安装了MySQL5,那么端口号下面可以写3307不要与之前的MySQL5端口号相同就可以,注意是两个地方都要改
手动创建my.ini文件,文件内容如下: (标红位置修改成自己安装的路径)
[mysqld]
port=3307
basedir=C:\\Program Files\\MySQL8\\mysql-8.0.23-winx64
datadir=C:\\Program Files\\MySQL8\\mysql-8.0.23-winx64\\Data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
port=3307
default-character-set=utf8mb4
运行cmd(管理员方式)然后cd到mysql目录的bin文件夹
然后执行以下命令mysqld --initialize --console
临时密码:RN0jk;vBsm!/ 大家不一样记住,最后的斜杠也要
mysqld --install [服务名] 注意:如果装过mysql了服务名要取一个别的比如我就叫mysql8
如果报错重新关掉重新用管理员身份开进入bin
安装完毕去看服务就多了一个了,修改为手动,并启动,不然下面不能改密码
“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)”
检查可执行文件的路径是否是你MySql安装的路径,我这里由于之前已安装了MySQL5.7,所以我在安装MySQL8.0.20的时候,其可执行文件的路径变成了MySQL5.7的路径,这时需要修改,怎么修改呢,当然需要从注册表去修改了,具体步骤如下:
首先需要重启一下电脑
根据路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySql-8\ImagePath
在重启之后你会发现在【HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\】下多一个 MySQL服务,
这个就是你刚添加的MySQL(这里的名字可能有些人都会有点不一样 但是大概都看得出来哪个是新添加的)
下面是需要修改的地方
将MySQL重命名为MySQL8,右键点击DisplayName更改数值数据(V):
右键点击ImagePath更改数值数据(V): 按照下面我这个格式自己修改
"C:\Program Files\MySQL8\mysql-8.0.23-winx64\bin\mysqld" --defaults-file="C:\Program Files\MySQL8\mysql-8.0.23-winx64\my.ini" MySQL8
上面的步骤解决完成之后,再去注册表路径为(\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\自己的MySQL8)
再根据上面的解决方案看看自己新增MySQL的ImagePath看看路径是否符合。
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/mytest
com.mysql.cj.jdbc.Driver
jdbc:mysql://192.168.19.242:3306/mxttest?&useSSL=false&serverTimezone=UTC
JDBC可以通过localhost和127.0.0.1访问因为默认允许本地访问,但是只要是互相访问就要Ip,就会报错Cannot create PoolableConnectionFactory (null, message from server: "Host 'admin-PC' is not allowed to connect to this MySQL server")
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。 其实感觉没变化,但是就是有修改了,不报错就对
重启重启mysql!!!!