为方便自己查找而转,尊重原文作者
https://www.cnblogs.com/thinkingandworkinghard/p/6711255.html
0.卸载已有的mysql
系统中可能早已存在mysql数据库,所以在安装之前我们需要将其卸载掉。
rpm -qa|grep -i mysql
该命令将显示已经安装了的mysql软件,之后通过下面的命令将软件一个一个卸载掉就可以了。注意:这样的卸载是不彻底,不过这里够用了。
yum remove '软件名'
1.mysql的repo源 度娘说CentOS 7的yum源中默认是没有mysql的。所以,为了解决这个问题我们首先下载安装mysql的repo源。
wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
rpm -ivh mysql57-community-release-el7-7.noarch.rpm
安装之后会获得/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo两个源,可以去相应的路径下查看一下。
- 安装mysql
yum install mysql-server
yum install mysql-devel
yum install mysql
安装完成之后重新检查一下安装了的mysql软件。
rpm -qa|grep -i mysql
mysql-community-libs-5.7.10-1.el7.x86_64
mysql-community-common-5.7.10-1.el7.x86_64
mysql-community-client-5.7.10-1.el7.x86_64
mysql-community-devel-5.7.10-1.el7.x86_64
mysql57-community-release-el7-7.noarch
mysql-community-server-5.7.10-1.el7.x86_64
3.登录
service mysqld status 查看mysql当前的状态
service mysqld stop 停止mysql
service mysqld restart 重启mysql
service mysqld start 启动mysql
首先,启动mysql。不过当时的做法是尝试登录mysql而不是启动或者查看该服务。
当时启动mysql时出现了一些错误,所以这里列举一下自己尝试过的解决方案,由于这些错误莫名的被决解了,不知道是否对最终的解决方案是否有影响,所以这里做一下记录。
1.由于对mysql也不是特别的了解,在完成上述步骤之后登陆时遇到了ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)错误。参考度娘提供的解决方案:
//这个错误的原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户。
chown -R openscanner:openscanner /var/lib/mysql
chown -R root:root /var/lib/mysql
好像没有什么效果。这个提示错误还是会出现。
2.于是乎接下来就是查看一下/var/lib/mysql/mysql.sock文件是否存在,第一次查看时该文件不存在,后来在/etc/my.cnf文件中添加了user=mysql,重启了一下电脑,中途又卸载重新安装了一下,之后该文件就出现了。原因这里就不细究了。
最终的解决方案,此时mysql的服务是可以启动/停止,不过用户登录不了。
mysql -u root 错误提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 登录root帐号需要密码,不过我们没有。于是就是忘记密码的操作了。 1.在/etc/my.cnf文件中添加skip-grant-tables。 2.重启mysql,service mysqld restart 3.登录mysql,# mysql -u root 4.修改密码,
mysql>use mysql;
mysql>update mysql.user set authentication_string=password('密码') where user='root';
mysql>flush privileges;
mysql>exit;
4.恢复/etc/my.cnf,将skip-grant-tables删除或者注释掉。 5.重启mysql,service mysqld restart
之后一切就都回到正轨了,这里就不继续啰嗦了。
唯一的一点:添加skip-grant-tables 是在my.cnf的最下面,第一次是最上面报了
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.