mysql5.7安装后,目录下没有my.ini 文件。 因为mysql日志那边要用到。就先加下。
步骤:
用管理登录,在mysql的bin目录下输入cmd回车然后输入一下命令行。
0,准备操作
先把mysql停了 net stop mysql。然后把mysql安装目录里面的data数据移到另外一个地方去。不然后面初始化的时候,会提示data已存在
1,新建my.ini文件:
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口 改为3318
port=3318
# 设置mysql的安装目录
basedir=E:/tool/mysql/mysql-5.7
# 设置mysql数据库的数据的存放目录 注意要改成\要改成/
datadir=E:/tool/mysql/mysql-5.7/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
设置目录的时候,注意要把“\”改成“/”
2,进入bin目录下,执行:
mysqld --initialize --console
如果报错:
2024-03-29T09:09:46.161192Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
往:my.ini里面加:
explicit_defaults_for_timestamp=true
然后再执行上面的命令,记录下root的密码。 (root@localhost:后面这一串就是mysql的初始登录密码,要复制保留,后面登录要用到的)
这时候,目录里面的data是新生成的。
3,启动服务
net start mysql;
然后进行登录:
myql -u root -p
输入密码:
报错:
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
因为修改了端口,没有使用默认的3306端口,登录的时候带上端口号
mysql -u root -P3318 -p
输入密码:
这样就登录成功了。
如果遇到:
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)
往my.ini里面加:
skip-grant-tables
4,修改root密码:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
然后查看端口:
show global variables like 'port';
这时候,数据都是全新了。 再新建数据库,用户,授权等操作。
总结:
mysql5.7目录下,没有my.ini文件,就新建一个,把目录改下,注意是反斜杆!因为data数据是全新生成的了。
关联文章: 《windows安装mysql5.7》