我从终端运行了以下命令:
sudo apt-get 安装 mysql 服务器 mysql 客户端
然后我检查 MySQL 是否正在运行:
sudo netstat -tap | grep mysql
我看到了类似的东西:
tcp 0 0 本地主机:mysql : 监听 2556/mysqld
我知道我还需要 MySQL Workbench,所以我去了软件中心并下载了 Workbench。
当我检查 MySQL 是否正在运行时,我看到了以下内容
$ sudo netstat -tap | grep mysql
tcp 0 0 localhost:mysql *:* LISTEN 1003/mysqld
tcp 0 0 localhost:52515 localhost:mysql ESTABLISHED 3167/mysql-workbenc
tcp 0 0 localhost:mysql localhost:52514 TIME_WAIT -
tcp 0 0 localhost:mysql localhost:52516 ESTABLISHED 1003/mysqld
tcp 0 0 localhost:52516 localhost:mysql ESTABLISHED 3167/mysql-workbenc
tcp 0 0 localhost:mysql localhost:52515 ESTABLISHED 1003/mysqld
我的问题是,我是否过度安装了 MySQL 的某些部分?在进行进一步开发之前,我只是想先处理好我需要处理的事情。
答案1
嗯,对我来说它是这样的:
cyrex@cyrex:~$ sudo netstat -tap | grep mysql
[sudo] password for cyrex:
tcp 0 0 localhost:mysql *:* LISTEN 1294/mysqld
我首先要做的是(假设您尚未在数据库中保存任何信息):
sudo service mysql stop
然后
ps -e| grep mysql
如果出现任何与 mysql 相关的内容,请将其终止:
sudo killall mysqld
使用上面的命令再次检查它是否还在那里ps
。如果还在那里,就把它杀掉:
sudo kill -9 PID
其中 PID 是进程的 ID。然后再次检查,如果没有其他 mysql 进程在运行,则:
sudo service mysql start
你确实让我想起了很久以前发生的一件事(我认为是 Ubuntu 9.10)。那是同样的事情,但多了大约 20 个进程。
答案2
“过度安装”是什么意思?服务器进程负责打开多个同时的连接;这有点像“服务器”的意思。
即使像浏览器这样的网络密集型程序也有多个连接:
$ sudo netstat -ntap | grep chrome
tcp 0 0 192.168.2.4:33424 example:80 ESTABLISHED 1579/chrome
tcp 0 0 192.168.2.4:59647 example:80 ESTABLISHED 1579/chrome
tcp 0 0 192.168.2.4:37446 example:5222 ESTABLISHED 1579/chrome
tcp 0 0 192.168.2.4:48011 example:443 ESTABLISHED 1579/chrome
... 20 more connections omitted for brevity ...
插座很便宜,特别是在不繁忙的时候。