错误提示和解决办法:
1.错误1:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
原因:是因为socket连接失败,这个时候你就要把/etc/my.cnf配置文件里面的内容更改以下
更改为:
[mysqld]
basedir=/app/database/mysql
bind-address=0.0.0.0
datadir=/data/3306
log-error=/data/3306/mysql.err
lower-case-table-names=1
pid-file=/data/3306/mysql.pid
port=3306
server_id=1
socket=/binlog/3306/mysql.sock
user=mysql
#character config
character_set_server=utf8mb4
symbolic-links=0
[mysql]
socket=/binlog/3306/mysql.sock
然后把 /binlog/3306/*目录的权限更改以下:
chown -R mysql:mysql /binlog/3306/*
最后在格式化数据库
cd /app/database/mysql/bin/
./mysqld --initialize --user=mysql -basedir=/app/database/mysql/ --datadir=/data/3306
最后检验:
service mysql status //查看数据库状态
service mysql restart //启动数据库
mysql -u root -p
password: //输入密码
2.普通用户可以登录MySQL,root用户却不能
这是因为root用户的环境变量中没有/app/database/mysql/bin
解决办法:
echo $PATH //检验root用户有没有环境变量
source /etc/profile //刷新环境变量使之生效
echo $PATH //检验root用户有没有环境变量
这个时候,重启mysql服务就行
service mysql status //查看数据库状态
service mysql restart //启动数据库
mysql -u root -p
password: //输入密码
3.常见在service mysql status 要对MySQL进行启停操作的时候,说没有找到这个服务
①可能是你没有把support-files下面的mysql.server复制到/etc/init.d/mysql下面去
②如果复制过去了,还报错,这个时候不要慌,重启一下虚拟机就行。