首页 > 代码库 > 阿里云上面部署mysql

阿里云上面部署mysql

0.卸载已有的mysql 

系统中可能早已存在mysql数据库,所以在安装之前我们需要将其卸载掉。

# rpm -qa|grep -i mysql

该命令将显示已经安装了的mysql软件,之后通过下面的命令将软件一个一个卸载掉就可以了。注意:这样的卸载是不彻底,不过这里够用了。

# yum remove ‘软件名‘

1.mysqlrepo  度娘说CentOS 7yum源中默认是没有mysql的。所以,为了解决这个问题我们首先下载安装mysqlrepo源。

# 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.重启mysqlservice 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.重启mysqlservice 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.
 

阿里云上面部署mysql