在最小化安装的CentOS7中以RPM安装MySQL

1. 下载Linux对应的RPM包(本文MySQL包是在SOHU镜像中下载的),链接地址如下:

http://mirrors.sohu.com/mysql/MySQL-5.6/MySQL-server-5.6.24-1.el6.x86_64.rpm     
http://mirrors.sohu.com/mysql/MySQL-5.6/MySQL-devel-5.6.24-1.el6.x86_64.rpm     
http://mirrors.sohu.com/mysql/MySQL-5.6/MySQL-client-5.6.24-1.el6.x86_64.rpm

2. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除,如下:

[root@localhost ~]# rpm -qa | grep -i mysql

3. 安装MySQL

3.1 移除mariadb

  • 命令

    [root@localhost ~]# yum -y remove mariadb*
    

    如不移除mariadb,安装时会提示冲突,无法安装,如下图:

3.2 安装相关依赖包

  • 命令

    [root@localhost ~]# yum -y install perl   
    [root@localhost ~]# yum -y install perl-Module-Install.noarch    
    [root@localhost ~]# yum -y install libaio   
    [root@localhost ~]# yum -y install net-tools   
    

    如不安装上述包,可能会遇到下述问题:
    提示依赖包缺失,如图:
    在最小化安装的CentOS7中以RPM安装MySQL_第1张图片
    在最小化安装的CentOS7中以RPM安装MySQL_第2张图片

3.3 安装MySQL

  • 命令

    [root@localhost ~]# rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm       
    [root@localhost ~]# rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
    

4. 配置MySQL

4.1 修改配置文件位置

[root@localhost ~]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf  # 修改配置文件位置
[root@localhost ~]# service mysql start # 启动mysql服务

登录时可能会出现拒绝访问的问题,如下所示:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决方法如下:

  1. 关闭MySQL服务:[root@localhost ~]# service mysql stop
  2. 以安全方式启动MySQL:[root@localhost mysql]# mysqld_safe --skip-grant-tables &
  3. 进入MySQL修改密码:
    [root@localhost ~]# mysql
    [root@localhost ~]# use mysql;
    [root@localhost ~]# select host,user,password from user;
    [root@localhost ~]# update user set password=password('root') where user='root';
    [root@localhost ~]# select host,user,password from user;
    [root@localhost ~]# flush privileges;
    [root@localhost ~]# exit;
  4. 杀死安全方式启动的MySQL:kill -9 2978 # 2978为上述安全方式启动的进程ID
  5. 启动MySQL服务:service mysql start

访问时可能会出现如下错误:
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
重新设置一下密码即可:set password=password('root');

4.2 设置远程访问MySQL

  • 关闭CentOS的防火墙:

    [root@localhost ~]# systemctl status firewalld.service # 查看防火墙状态
    [root@localhost ~]# systemctl stop firewalld.service # 停止防火墙服务
    [root@localhost ~]# systemctl disable firewalld.service # 禁止防火墙服务自启
    [root@localhost ~]# systemctl status firewalld.service # 查看防火墙状态
    
  • 赋予任何主机访问数据的权限:

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;    
    mysql> FLUSH PRIVILEGES;
    

5. 参考资料

  • RPM方式安装MySQL5.6
  • RedHat Enterprise Linux 7关闭防火墙方法
  • GRANT ALL PRIVILEGES

你可能感兴趣的:(在最小化安装的CentOS7中以RPM安装MySQL)