1、背景
在项目中可能会用到多个版本的Mysql数据库,尤其是最常用的5版本的和8版本数据库,我们都知道8版本数据库有了很多新的特性,并且和5版本有些地方是不同的,所以我们本地电脑主机可能会同时安装两个Mysql数据库用来测试。此时我们可能需要安装两个数据库。
这里我本地是存在一个5版本数据库的,所以直接在此基础上安装8版本数据库。
2、下载并配置
下载所需版本
解压并新建data和uploads文件夹及my.ini文件
my.ini文件初始化配置
[mysqld]
# 因为存在版本3306,所以这里改端口号为3307
port=3307
# 字符集为:character_set_server=utf8mb4;
character_set_server= utf8mb4
basedir=D:\summy\mysql-8
datadir=D:\summy\mysql-8\data
server-id=1
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
innodb_file_per_table = 1
log_timestamps=SYSTEM
log-error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
long_query_time = 5
log-bin = binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
secure-file-priv=D:\summy\mysql-8\uploads
[client]
default-character-set= utf8mb4
配置文件中添加:shared-memory;
示例:
[mysqld]
shared-memory
port=3307
配置环境变量
3、安装mysql服务
以管理员身份运行CMD;
切换到 D:\summy\mysql-8\bin下,执行:
mysqld --defaults-file=D:\summy\mysql-8\my.ini --initialize --console
#(记住临时密码)
mysqld install MySQL8
需要修改注册列表路径:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MYSQL8 修改路径
(默认为第一次安装5版本的路径)
4、修改密码
mysql -8.0.30 安装完成,通过临时密码登陆修改;
select host, user, authentication_string, plugin from user;
8版本mysql默认认证方式为:caching_sha2_password,所以我们直接修改密码后可能会导致navicat等客户端软件无法登陆的情况,所以如果是默认认证方式,则修改为密码认证为 mysql_native_password
可以直接用sql修改:
update user set plugin = 'mysql_native_password' where user = 'root';
也可以在配置文件中添加下面的语句后重启:
default_authentication_plugin=mysql_native_password
update user set authentication_string='' where user='root';
flush privileges;
如果临时密码不生效,无法登陆情况,可以跳过密码登陆验证
退出mysql,在配置文件里加上skip-grant-tables,重启 mysql 服务,再次登陆的时候是空密码登陆:
登陆后即可修改密码了:
ALTER USER 'root'@'%' IDENTIFIED BY '123456';flush privileges;