在wsl下安装mysql8.0

技术相关 浏览量: 516 作者: 谁的猫 2021-02-26

  之前,我折腾过windows子系统  就是wsl2,然后折腾了个centos7的镜像 目前就是当做一台虚拟机自用,省去开vmware 挺慢的...

 好的,先上图,

关于安装,就跟linux安装mysql8一样的

但是我还是简单写写吧,有些注意点挺坑的

(注:我不是用的yum方式安装,而是自己下载的mysql8.x的包,解压安装的)

下载地址

然后解压tar.gz包

然后先直接写mysql8.0配置文件

vim /etc/my.cnf

下面是我的配置文件

[mysqld]
# 设置3306端口
port=3306
#socket 
socket=/var/lib/mysql/mysql.sock
innodb_use_native_aio = 0
#这个user=root 看你自己的情况填写  我是省的启动的时候加user=root
user=root
#这个理论上可以不写,但是如果要Navicat连接的话  还是写上好点
bind-address=0.0.0.0
# 设置mysql的安装目录  自己定目录
basedir=/usr/local/mysql/mysql-8.0.22-el7-x86_64
# 设置mysql数据库的数据的存放目录 自己先创建好目录 并给权限  chmod -R 777 目录名
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证  这个如果要Navicat连接最好加上  因为mysql8.0采用的加密方式变了
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8

然后进入到你的mysql解压出来的bin目录下

执行  

./mysqld --initialize --console

如果有 error  看下后面得输出  一般情况下  把error 后面的复制粘贴到百度  都有解决方案的 (基本大多都是缺少什么环境之类的)

记住随机生成的密码(PS:如果你没看见随机密码,可以再配置文件中 就是my.cnf  添加一行 skip-grant-tables 到[mysqld]下面 这样可以跳过验证 用完记得注释掉)

如果在最后有看见SUCCESS! 基本代表成功了

关于远程连接Navicat 

先 mysql -uroot -p进入你的mysql

然后 

修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
修改成远程登录用户:
update user set host='%' where user = 'root';
授权:
grant all privileges on *.* to 'root'@'%';
刷新权限:
flush privileges;

wsl2的话,Navicat连接直接使用localhost就行  对了,如果你本地有windows版本的mysql  请记得端口不要冲突 一个3306  那么另一个得是3305

skip-grant-tables 一定记得注释掉  不然死活连接不到Navicat  

mysql.sock这个文件一定得跟你的路径匹配  不然你某天 会发现你的MySQL启动失败!!!

至于我为什么不设置mysql开机自启  我设置了 但是在wsl下貌似没卵用...

#启动mysql服务
systemctl start mysqld
#查看mysql状态
systemctl status mysqld
#停掉mysql
systemctl stop  mysqld

就酱!

OVER!

Top