最近学习大数据基础知识,使用 Kafka 模拟了生产者和消费者的流程。首先在 Mac 电脑上安装了 VirtualBox 应用,利用 VirtualBox 搭建了 3 台 Linux 虚拟机,利用 Zookeeper 对三台 Linux 服务器进行管理。在消费者读取数据后,将Kafka 传递的消息存储到 MySQL 中。在 Linux 虚拟机上安装 MySQL 过程中遇到了如下问题,对各个问题的解决方式记录如下:
1 mysql 启动
service mysql start
出现错误:
Job for mysql.server.service failed because the control process exited with error code. See "systemctl status mysql.server.service" and "journalctl -xe" for details.
解决方法
配置 error.log 和 socket 的路径:
[mysqld_safe]
log-error = /data/mysql/logs/error.log
[mysqld]
skip-grant-tables
datadir = /usr/local/mysql/data
socket = /var/lib/mysql/mysql.sock
出现错误
2019-05-07 23:18:18 2515 [ERROR] Can't start server : Bind on unix socket: Address already in use
2019-05-07 23:18:18 2515 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
解决方法:
1 将 mysql.sock 移除
rm mysql.sock 文件路径
2 运行命令:service mysql stop
3 赋予 mysql.sock 文件存放目录的权限
chown -R mysql:root /var/lib/mysql
2 查看 mysql 启动日志
systemctl status mysql.server.service -l
出现错误:
Starting MySQL. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).
解决方法:
打开 /usr/local/mysql/etc/my.cnf配置文件,在[mysqld]节下指定数据目录(datadir):datadir = /usr/local/mysql/data
3 登录 mysql
mysql -uroot -p
出现错误:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方法1 :
cp /var/lib/mysql/mysql.sock /tmp/mysql.sock (源地址->目的地址)
cp 时出现 : 无法打开"/var/lib/mysql/mysql.sock" 读取数据: 没有那个设备或地址
解决方法2 : 软连接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock