在最小化安装的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,安装时会提示冲突,无法安装,如下图: 与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   
    

如不安装上述包,可能会遇到下述问题: 提示依赖包缺失,如图: 依赖包缺失缺少Perl某个模块

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. 参考资料

转载于:https://my.oschina.net/admyvi/blog/411330

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值