mysql8 安装&问题解决
1、下载:https://dev.mysql.com/downloads/mysql/
2、安装
1)、设置环境变量
MYSQL_HOME D:\env\j2ee\mysql\mysql-8.0.19-winx64 Path %MYSQL_HOME%\bin;
2)、进入MYSQL_HOME,本例是D:\env\j2ee\mysql\mysql-8.0.19-winx64
新建my.ini或my.cnf均可。
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8
[mysqld]
#设置 3306 端口
port = 3306
# 设置 mysql 的安装目录
basedir=D:\env\j2ee\mysql\mysql-8.0.19-winx64
# 设置 mysql 数据库的数据的存放目录
datadir=D:\env\j2ee\mysql\mysql-8.0.19-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3)、在MYSQL_HOME/bin下,进入cmd窗口,执行如下语句
mysqld --initialize-insecure --user=mysql
则会在MYSQL_HOME下新建data目录,此时 MySQL 建立了默认的数据库,用户名为 root,密码为空。
4)、安装服务,安装后重启电脑mysql也会自启动了
mysqld -install
第一次安装的话会显示 "Service successfully installed."
如果已经安装过了,会显示"The service already exists! ..."
如果需要移除服务,执行:mysqld -remove
3、登录
mysql -uroot -p
密码为空,即直接回车。
4、修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
5、退出和停止服务
--退出
exit
--停止服务
net stop mysql
附:
问题1:安装完后,当执行mysql命令时,弹窗报错:运行mysql 无法启动此程序,因为计算机中丢失VCRUNTIME140_1.dll
解决:安装 mysql用到的win7运行库 即可
参见:https://blog.csdn.net/qq_42365534/article/details/102847013
问题2:java连接报错:Host xxxxxxx is not allowed to connect to this mysql server
解决:
update user set HOST='%' where user = 'root'
flush PRIVILEGES;
问题3:java连接报错:mysql Public Key Retrieval is not allowed
解决:
A、在my.ini文件的[mysqld]下新增:
# 不使用sha2认证
default_authentication_plugin=mysql_native_password
B、mysql
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'root的密码';
C、在连接串中加入
serverTimezone=Asia/Shanghai
如:jdbc:mysql://10.134.252.4:3306/db_xx?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai
问题4:如何查找my.ini或my.cnf所在位置?
解决:
执行mysql --help
Default options are read from the following files in the given order: C:\Windows\my.ini C:\Windows\my.cnf C:\my.ini C:\my.cnf D:\env\j2ee\mysql\mysql-8.0.19-winx64\my.ini D:\env\j2ee\mysql\mysql-8.0.19-winx64\my.cnf