window注册多个mysql服务暨mysql8安装常见问题

Posted samsample

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window注册多个mysql服务暨mysql8安装常见问题相关的知识,希望对你有一定的参考价值。

在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';

 


参考文献:

1. 如何注册一个Windows服务

2. MySQL数据库出现Authentication plugin怎么办

以上是关于window注册多个mysql服务暨mysql8安装常见问题的主要内容,如果未能解决你的问题,请参考以下文章

mysql8.5安装不成功

mysql8.0安装好后无法启动后的一顿猛如虎操作

django-8.windows系统安装mysql8教程

MySQL8.0服务启动(windows10)

Windows10最新MySQL8.0.23安装教程(超级详细)

MySQL8安装后连接不上?