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
两个源,可以去相应的路径下查看一下。
2. 安装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.