这个问题竟然纠结了很久,网上都没有完整的解决方案,小白的自己拼凑了很久,欲哭无泪。
下面总结下成功的方法
1、mysql免安装版的下载地址
MySQL :: Download MySQL Community Server
免安装版比安装版友好太多了,你有没有试过安装版失败再重装的经历?不想回忆了
2、解压到没有中文的路径中
目录下添加my.ini文件
设置按需选择,我的供参考
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir = D:\\mysql-8.0.26\\
# 设置mysql数据库的数据的存放目录
datadir = D:\\mysql-8.0.26\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 创建模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log-bin=mysql-bin #开启bin_log添加这一行就ok
binlog-format=ROW #选择row模式
server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复
3、原来有安装的需要卸载干净,自行百度
4、环境变量设置
添加MYSQL_HOME
把mysql的bin目录加到path中
5、lower_case_table_names参数说明
6、管理员模式打开cmd
cd到mysql的bin目录,执行以下命令
如果需要设置表名大小写敏感,执行:mysqld --initialize-insecure --lower-case-table-names=2
如果不需要设置表名大小写敏感,执行:mysqld --initialize-insecure
提醒:mysqld --initialize-insecure自动生成无密码的root用户;mysqld --initialize是自动生成随机密码用户;
尝试过mysql5.7设置大小写敏感不生效。
耐心等待片刻后,mysql目录下会多了一个data文件夹
7、安装mysql服务,且启动
8、修改root用户密码
执行以下命令
c:>mysql –uroot
mysql>show databases;
mysql>use mysql;
mysql>ALTER USER 'root'@'%' IDENTIFIED BY '12345';
mysql>FLUSH PRIVILEGES;
mysql>QUIT
mysql默认lower_case_table_names=1,大小写不敏感,现在已设置为大小写敏感
网上很多提供修改my.ini文件的方法都不可行,修改后服务启动会报错,只能通过初始化的时候改。