edit9:我是否有可能在文件夹上缺少一些权限?我真的,真的很感激一些建议......
编辑3:因为这篇文章没有得到足够的回复,所以我尽快得到这个,我重新设计了我的帖子,以显示我认为到目前为止已扣除的内容。
注意:通过许多不同的命令正常登录根本不起作用。
我的流程:
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/MySQL*
rm -rf ~/Library/PreferencePanes/MySQL*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
mysql-5.7.9-osx10.10-x86_64.dmg
在标准位置使用标准安装安装mysql-5.7.9-osx10.9-x86_64.pkg
。 (为什么我下载10.10时pkg 10.9?我的OS X版本是10.10 yosemite)
我收到一条通知,告知已创建root @ localhost的临时密码。我写得很完美。
这是问题的起点。
尝试通过终端启动mysql服务器:
sudo /usr/local/mysql/support-files/mysql.server start
返回:
Starting MySQL
.. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).
经过对这个pid文件的一些研究,我意识到我需要在/ etc中创建my.cnf,所以我做了..
cd /usr/local/mysql/support-files/
sudo cp my-default.cnf /etc/my.cnf
编辑并保存my.cnf ..
cd /etc
sudo nano my.cnf
,进入第
pid-file = /var/run/mysqld/mysqld.pid
行
创建目录..
sudo mkdir / var / run / mysqld sudo touch /var/run/mysqld/mysqld.pid sudo chown -R mysql:mysql / var / run / mysqld
假设my.cnf现在应该全部设置,包括pid文件。我试着再次启动服务器。但是没有任何改变。
好的,所以我觉得很好,我会尝试更改安装时临时设置的密码。
我停止了mysql服务器(它不应该运行,但以防万一)。 sudo /usr/local/mysql/support-files/mysql.server stop
。这可能很有趣,因为我最终会以某种形式出现,我无法做任何事情。我必须从这里重新启动终端。
尝试使用sudo mysql_safe --skip-grant-tables
以安全模式启动mysql:
151110 10:28:10 mysqld_safe记录到'/usr/local/var/mysql/Robs-MacBook-Pro.local.err'。 151110 10:28:10 mysqld_safe用/ usr / local / var / mysql中的数据库启动mysqld守护进程 151110 10:28:10来自pid文件的mysqld_safe mysqld /usr/local/var/mysql/Robs-MacBook-Pro.local.pid已结束
所以再一次关于这个pid文件..我没有在这里为basedir / datadir / port / server_id / socket设置值..也许就是这样?如果是这样,我应该在这里设置什么值?
当我在互联网上提出不同建议时经常出现的其他错误包括:
Access denied for user root@localhost using password: yes/no
或
Cant connect to mysql server through socket ..
/usr/local/var/mysql/data/mysqld.local.err
最后几行:
2015-11-17T08:13:55.755115Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-11-17T08:13:55.756291Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2015-11-17T08:13:55.756310Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2015-11-17T08:13:55.780792Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2015-11-17T08:13:55.781750Z 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.7.9) starting as process 94 ...
2015-11-17T08:13:55.796438Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
2015-11-17T08:13:55.802783Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-11-17T08:13:55.802816Z 0 [Note] InnoDB: Uses event mutexes
2015-11-17T08:13:55.802826Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2015-11-17T08:13:55.802834Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-11-17T08:13:55.804723Z 0 [Note] InnoDB: Number of pools: 1
2015-11-17T08:13:55.808009Z 0 [Note] InnoDB: Using CPU crc32 instructions
2015-11-17T08:13:55.821713Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2015-11-17T08:13:55.843514Z 0 [Note] InnoDB: Completed initialization of buffer pool
2015-11-17T08:13:55.898365Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2015-11-17T08:13:55.935027Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2015-11-17T08:13:55.935222Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2015-11-17T08:13:55.950640Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2015-11-17T08:13:55.952035Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2015-11-17T08:13:55.952061Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2015-11-17T08:13:55.952538Z 0 [Note] InnoDB: Waiting for purge to start
2015-11-17T08:13:56.070486Z 0 [Note] InnoDB: 5.7.9 started; log sequence number 2471474
2015-11-17T08:13:56.070792Z 0 [Note] InnoDB: Loading buffer pool(s) from /usr/local/mysql-5.7.9-osx10.9-x86_64/data/ib_buffer_pool
2015-11-17T08:13:56.071268Z 0 [Note] InnoDB: not started
2015-11-17T08:13:56.072953Z 0 [Note] Plugin 'FEDERATED' is disabled.
2015-11-17T08:13:56.075825Z 0 [Note] InnoDB: Buffer pool(s) load completed at 151117 9:13:56
2015-11-17T08:13:56.086709Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
2015-11-17T08:13:56.112666Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2015-11-17T08:13:56.112759Z 0 [Note] IPv6 is available.
2015-11-17T08:13:56.112804Z 0 [Note] - '::' resolves to '::';
2015-11-17T08:13:56.113081Z 0 [Note] Server socket created on IP: '::'.
2015-11-17T08:13:56.180223Z 0 [Note] Event Scheduler: Loaded 0 events
2015-11-17T08:13:56.180406Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.7.9' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
来自Vasfed的一个好建议的结果:
然后,按照描述创建txt文件。使用我用过的目录和文件名输入命令:mysqld_safe --init-file=/home/mysql-init &
哪个返回:Robs-MacBook-Pro:home leroyklotz$ 151118 09:25:23 mysqld_safe Logging to '/usr/local/var/mysql/Robs-MacBook-Pro.local.err'.
151118 09:25:23 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
/usr/local/bin/mysqld_safe: line 129: /usr/local/var/mysql/Robs-MacBook-Pro.local.err: Permission denied
rm: /tmp/mysql.sock: Permission denied
/usr/local/bin/mysqld_safe: line 166: /usr/local/var/mysql/Robs-MacBook-Pro.local.err: Permission denied
151118 09:25:23 mysqld_safe mysqld from pid file /usr/local/var/mysql/Robs-MacBook-Pro.local.pid ended
/usr/local/bin/mysqld_safe: line 129: /usr/local/var/mysql/Robs-MacBook-Pro.local.err: Permission denied
授予Robs-MacBook-Pro.local.err和mysql.sock(仍称为mysql.sock.lock,这有关系吗?)的权限并不能完全解决问题,现在的错误信息如下:
Robs-MacBook-Pro:~ leroyklotz$ mysqld_safe --init-file=/home/mysql-init &
[1] 747
Robs-MacBook-Pro:~ leroyklotz$ 151119 09:13:51 mysqld_safe Logging to '/usr/local/var/mysql/Robs-MacBook-Pro.local.err'.
151119 09:13:51 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
rm: /tmp/mysql.sock: Permission denied
151119 09:13:53 mysqld_safe mysqld from pid file /usr/local/var/mysql/Robs-MacBook-Pro.local.pid ended
答案 0 :(得分:1)
不要自己创建/触摸pid文件,它旨在由守护程序本身创建以指示其pid
在macos上mysql运行正常,没有my.cnf
首先要查看/usr/local/var/mysql/Robs-MacBook-Pro.local.err
的mysqld日志。
奇怪的位置,顺便说一句,默认是在/usr/local/mysql/data/<your_hostname>.err
(需要sudo来阅读),可能是你安装的服务器根本没有启动而你有其他守护进程正在运行(例如通过自制软件安装)
检查ps ax | grep mysql | grep -v grep
- 它应该有2个进程,两个都有/usr/local/mysql/bin
中的二进制文件,如果还有其他mysql - 这解释了所有