参考Install MySQL on CentOS 7网站安装好MySQL。
/charlie/software/mysql/data是我新建的MySQL目录,修改文件夹权限:sudo chown -R mysql:msyql /charlie/software/mysql/data
修改/etc/my.cnf文件
[mysqld]
character_set_server=utf8
socket=/charlie/software/mysql/data/mysql.sock
datadir=/charlie/software/mysql/data
#socket=/var/lib/mysql/mysql.sock
#datadir=/var/lib/mysql
ln -s /charlie/software/mysql/data/mysql.sock /var/lib/mysql/mysql.sock
执行sudo systemctl start mysqld 会没有反应。然后在/var/log/mysqld.log查看日志,ERR错误会有一个
Can't start server : Bind on unix socket: Permission denied这样子的错误。
执行命令getenforce是不是出现的是Enforcing,如果是的话,执行setenforce 0 临时关闭,就可以启动MySQL。
然后执行sudo /usr/bin/mysql_secure_installation就可以设置了。
如果后面执行mysql相关命令出现:Can’t connect to local MySQL server through socket错误。
编辑/etc/my.cnf文件添加
socket=/charlie/software/mysql/data/mysql.sock
主要还是对linux不熟悉,找了很久才发现有可能是selinux的原因。
前面做的链接那个步骤不知道是不是有用的,还是写下来吧,有知道原理的同学告知一下