解决mysql(8.0.20) 启动后端口是0,无法连接workbench问题
问题1:未设置my.cnf
如果没设置my.cnf配置,将会出现账号密码登录失败
系统偏好配置中mysql无法启动或者关闭
解决配置my.cnf到/etc/my.cnf中
问题2:查看端口号为0
mysql> show global variables like ‘port’; ±--------------±------ | variable_name | value | ±--------------±------ | port | 0 | ±--------------±------ mysql> show variables like ‘skip_networking’; ±----------------±------ | variable_name | value | ±----------------±------ | skip_networking | off | ±----------------±------
先说解决办法办法:
直接进入系统偏好-->mysql-->initialize database,然后输出密码,重新初始化mysql
1
结果:
±--------------±------ | variable_name | value | ±--------------±------ | port | 3306 | ±--------------±------
尝试过的方法,也可以试试
首先检查show variables like ‘skip_networking’;如果报告skip_networking = on,你的mysqld在没有网络支持的情况下启动(导致端口系统变量中的值为0)。
如果是这种情况,您很可能必须检查mysqld的init脚本,最有可能在/etc/init.d/mysql下,在此处搜索–skip-networking并注释掉(删除)此部分。完成此过程后,您必须重新启动mysqld。
或者是my.cnf里面是否开启了skip_networking,如果有则注释掉。
normaly没有必要明确设置端口3306,因为3306是mjysqld监听的默认端口。
还有一个kb88凯时官网登录的解决方案:
/system/library/launchdaemons/org.mysql.mysqldprogramarguments /opt/local/lib/mariadb-10.1/bin/mysqld --skip_networking=0 --socket=/opt/local/var/run/mariadb-10.1/mysqld.sock --user=mysql --port=3306 --datadir=/opt/local/var/db/mariadb-10.1 --pid-file=/opt/local/var/run/mariadb-10.1/dns.local.pid