在ubuntu和centos中,安装和注册一个mysql服务很简单,但是在windows中要注册一个服务还挺麻烦,因此写篇文章记录一下,免得每次都要绞尽脑汁想办法解决。
以下假设mysql安装目录为 C:\mysql5.7(端口3306) 和 C:\mysql8(端口3307)
一、基础操作:
1. 启动mysql:
c:\mysql5.7\bin\mysqld
c:\mysql8\bin\mysqld
2. 指定配置文件启动mysql:
c:\mysql5.7\bin\mysqld --defaults-file=C:/mysql5.7/my.ini
c:\mysql8\bin\mysqld --defaults-file=C:/mysql8/my.ini
3. 登录mysql(假设已经把 c:\mysql5.7\bin 加入环境变量了)
mysql -uroot -p(回车后输入密码)
mysql -P3307 -uroot -p(回车后输入密码)
4. 创建数据库:
mysql> create database bootstrap;
5. 创建用户:(mysql5.7无需独立做这一步,以下为mysql8的操作)
mysql> create user sam@localhost;
mysql> create user sam@'%';
6. 设置(修改)密码:(mysql5.7无需独立做这一步,以下为mysql8的操作)
mysql> alter user sam@localhost identified with mysql_native_password by '123456';
mysql> alter user sam@'%' identified with mysql_native_password by '123456';
7. 赋予数据库权限:(这里赋予全集权限,独立权限赋予自行调整ALL字眼即可)
mysql5.7: (创建用户、设置密码、赋权 三合一)
mysql> grant all on bootstrap.* to sam@localhost identified by '123456';
mysql> grant all on bootstrap.* to sam@'%' identified by '123456';
mysql> flush privileges;
mysql8:
mysql> grant all on bootstrap.* to sam@localhost;
mysql> grant all on bootstrap.* to sam@'%';
mysql> flush privileges;
二、注册服务:
1. 注册第一个(唯一 一个)mysql(这里已mysql5.7为例)
c:\mysql5.7\bin\mysqld --install
2. 注册第二个mysql(以mysql8为例)
2.1 c:\mysql8\bin\mysqld --install mysql8 # 意思是注册一个名为mysql8的服务
2.2 打开注册表编辑器,定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql8
2.3 新建一个“项”,名称为 “Parameters”
左图为创建完后的样子
2.4 创建一个字符串值:
AppDirectory,值为 C:\mysql8
2.5 创建一个字符串值:
Application, 值为 C:\mysql8\bin\mysqld --defaults-file=C:/mysql8/my.ini
2.6 打开“服务”: services.msc,定位到 mysql8
2.7 右击启动。
至此,两个服务均注册完毕。
三、mysql8安装常见问题(随心情更新)
1. 2059 - Authentication plugin 'cache_sha2_password' cannot be loaded: 锟斤拷(^_^)
这是由于mysql5与mysql8的密码加密策略不同,有两种解决办法:
1.1 使用 mysql8 的客户端登录。(navcat的报错不能使用这种办法)
1.2 重新设置mysql用户密码:
alter user sam@'%' identified with mysql_native_password by '123456';
参考文献: