centos7 安装mysql

centos7默认安装的是mariadb,所以要安装mysql首先要卸载mariadb,否则会冲突。

  1. 卸载mariadb
    **列出所有被安装的rpm package **
rpm -qa | grep mariadb

卸载

rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64

错误:依赖检测失败:libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要 libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64,需要强制卸载,因为没有--nodeps

rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
  1. 安装mysql
    要准备  
      mysql-community-client-5.7.9-1.el7.x86_64.rpm
      mysql-community-common-5.7.9-1.el7.x86_64.rpm
      mysql-community-libs-5.7.9-1.el7.x86_64.rpm
      mysql-community-server-5.7.9-1.el7.x86_64.rpm
    开始安装:
rpm -ivh mysql-community-common-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm

安装过程中可能会缺少net-tools依赖,执行

yum install -y net-tools 安装它。
  1. 设置密码
      安装完mysql并没有像mac一样提供默认密码,服务也没有起动,所以如果你执行
      systemctl start mysqld.service起动服务后是无法通过mysql -uroot直接登录进去设置密码的。
      所以这时候要修改/etc/my.cnf来禁用密码,通过mysql -uroot登录进去后设置新密码,然后再重启一下就可以用新密码正常登录了。
      3.1 修改my.cnf
[root@iZ25fftuiaeZ upload]# cd /etc
[root@iZ25fftuiaeZ etc]# vim my.cnf

在最下面添加skip-grant-tables,如下图所示:


centos7 安装mysql_第1张图片

保存,退出。
  3.2 修改密码
重启mysql

[root@iZ25fftuiaeZ etc]# systemctl restart mysqld.service
[root@iZ25fftuiaeZ etc]# mysql -uroot
centos7 安装mysql_第2张图片

执行下列语句更新密码

mysql> update user set authentication_string=password("your_new_password") where user="root";

3.3 退出mysql
  再次编辑/etc/my.cnf,把skip-grant-tables注释掉,不注释掉那就永远不需要密码就可以登录了,这就太可怕了。
重启

[root@iZ25fftuiaeZ etc]# systemctl restart mysqld.service
然后就可以正常登录了
[root@iZ25fftuiaeZ etc]# mysql -uroot -pyour_new_password

如果登录后不管执行任何命令都提示:You must reset your password using ALTER USER statement before executing this statement.
执行下面命令退出使用新密码登录就好了:

SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

你可能感兴趣的:(centos7 安装mysql)