mac解决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监听的默认端口。
还有一个解决方案:
/System/Library/LaunchDaemons/org.mysql.mysqld <key>ProgramArguments</key> <array> <string>/opt/local/lib/mariadb-10.1/bin/mysqld</string> <string>--skip_networking=0</string> <string>--socket=/opt/local/var/run/mariadb-10.1/mysqld.sock</string> <string>--user=mysql</string> <string>--port=3306</string> <string>--datadir=/opt/local/var/db/mariadb-10.1</string> <string>--pid-file=/opt/local/var/run/mariadb-10.1/dns.local.pid</string> </array>