mrbear 发表于 2017-12-12 07:37:46

阿里云上面部署mysql

  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 restart3.登录mysql,# mysql -u root4.修改密码,
  

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.  
页: [1]
查看完整版本: 阿里云上面部署mysql