由于又一次在折腾 MySQL 配置问题上浪费了不少时间,由此整理一下,以备不时之需。
系统:
- Windows10
- MySQL5.7.17
** 说明: ** 以下命令均需要在管理员账号在 bin 执行,【】里面的内容为可选项
- 修改 my.ini : 设置 basedir 和 datadir 目录,datadir 可不设,默认在 basedir 目录下自动生成。
- 初始化:
mysqld --initialize[-insecure -user=root]
, 加上 insecure 参数不会设置随机密码 - 安装:
mysqld --install [ service_name] [ --defaults-file="C:\Program Files\mysql\my.ini"]
如果成功会回显:Service successfully installed.
- 启动服务:
net start mysql
,类似停止为:stop - 卸载服务:
sc delete MySQL
, 以及mysqld -remove
- 首次登陆问题:
- 以安全模式打开:
mysqld --skip-grant-tables
后新建窗口无密码登陆:mysql -uroot -p
然后:use mysql
;update user set password=password("123456") where user="root";
修改密码,flush privileges
刷新后 kill 掉 mysqld 进程即可正常登陆。如果提示通过alter user
修改密码:alter user 'root'@'localhost' identified by 'password';
- 看到其他的方法可能适用于其他版本:首次无密码登陆后通过
mysqladmin -uroot password
修改密码,1054错误:在 my.ini 文件 [mysqld]条目下添加:skip-grant-tables
和上面参数一样的,’use mysql' 后update user set authentication_string=password("...") where user="root"
设置密码。 - 授权:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
密码
- 修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'npassword'
set password for 'root'@'localhost' password('admin')
另外贴一篇MySQL5.6 my.cnf配置优化,
以及 MySQL官方的文档,以备查询。