mysql配置
本文用于个人记录,仅作参考
- 系统版本 windows7
- mysql版本 5.7.16
- 客户端Navicat
安装
- 官网下载对应压缩包mysql-5.7.16-winx64
- 解压后在根目录添加my.ini,具体参数含义参照相关文档
basedir和datadir配置成解压后对应的目录
[client]
port = 3306
default-character-set = utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server = utf8
init_connect = "SET NAMES utf8"
basedir="D:/mysql-5.7.16-winx64/"
datadir="D:/mysql-5.7.16-winx64/Data"
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
注: 路径必须使用/或者\\
- 较新版的mysql中没有data文件夹,需要自己生成
cd d:\mysql-5.7.16-winx64\bin\
mysqld --initialize-insecure //生成data,自动生成无密码的root用户
- 添加服务
mysqld install MySQL --defaults-file="D:\mysql-5.7.16\my.ini" //路径指向自己对应的文件地址
mysqld -remove // 移除已添加的服务
启动MySql服务
net stop mysql //停止服务
net start mysql //启动服务
登陆
mysql -uroot -p //第一次root密码为空
mysqladmin -uroot password 123 //root修改密码
一些报错
- Navicat连接数据库时报错:2013 Lost connection to MySQL server during query
ini文件中必须有
[client]
port = 3306
default-character-set = utf8
- 使用命令行报错:ERROR 1045 (28000): Access denied for user
编辑ini文件,在[mysqld]这个条目下加入
skip-grant-tables
保存退出后重启mysql服务
net stop mysql //停止服务
net start mysql //启动服务
输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)
use mysql; //使用数据库
update user set password=password("新密码") where user="root"; //重设密码
flush privileges; //刷新
quit; //退出
改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。