CentOS7安装MySQL5.6数据库并实现远程登录

来源:互联网 发布:软件体系结构设计 pdf 编辑:程序博客网 时间:2024/06/08 14:46

  • 卸载MariaDB
  • 下载MySQL
  • 安装MySQL
  • 实现远程登录

卸载MariaDB

Centos 7 默认支持的是mariadb,不支持mysql数据库,需要在安装mysql之前卸载mariadb,否则安装mysql不兼容。

[root@localhost ~]# rpm -qa|grep mariadb  // 查询出来已安装的mariadb  [root@localhost ~]# rpm -e --nodeps 文件名  // 卸载mariadb,文件名为上述命令查询出来的文件  

执行以下命令来创建mysql用户组

[root@localhost ~]# groupadd mysql  

执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组

[root@localhost ~]# useradd -g mysql mysql

下载MySQL

Mysql的下载地址是 https://dev.mysql.com/downloads/mysql/

操作方式如下图:

1.
这里写图片描述
2.
这里写图片描述
3.
这里写图片描述
4.
这里写图片描述
5.
这里写图片描述

安装MySQL

将下载的tar包放在/usr/local/mysql目录下(在usr/local/下创建一个mysql目录:mkdir /usr/local/mysql)

解压文件

tar -xvf MySQL-5.6.36-1.linux_glibc2.5.x86_64.rpm-bundle.tar

把解压过的包删除掉

rm -rf MySQL-5.6.36-1.linux_glibc2.5.x86_64.rpm-bundle.tar(“不移除会影响后面的安装”)

开始安装

rpm -ivh MySQL-* ( 切记在CentOS联网的情况下进行,否则会出问题,安装失败。)

出现如下异常:

FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper

解决方案:

 yum install -y perl-Module-Install.noarch

原因:

在centos7环境中没有找到离线安装的办法,只能在线安装,需要调整到可联网状态。虚拟机中的话,可以调整到nat模式下。

重新安装

rpm -ivh MySQL-*

启动MySQL

 [root@localhost ~]# service mysql start

出现如下异常

Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

解决方案:

[root@localhost mysql]# yum -y install autoconf[root@localhost mysql]# /usr/bin/mysql_install_db --user=mysql

重启MySQL

Starting MySQL. SUCCESS! 到此安装成功!!!

登录MySQL

[root@localhost ~]# mysql -uroot -p//登录mysql> set password for root@localhost = password('root');//设置数据库密码 

设置开机自启

vim /etc/rc.local添加service mysql start

实现远程登录

在Linux登录到MySQL数据:mysql -uroot -p
输入密码
切换到mysql数据库
mysql>use mysql
输入grant all privileges on . to root@”%” identified by “密码”;
mysql> grant all privileges on . to root@”%” identified by “563412”;
这表示是给本地ip赋予了所有的权限,包括远程访问权限,%百分号表示允许任ip访问数据库。
然后再输入
mysql> flush privileges;
重新加载,,并退出
mysql>exit
然后,重启数据库
service mysql restart 注:重启服务的命令有的是service,有的是systemctl,我不知道是Linux版本不一样,还是针对不同的服务,命令也不一样,这个注意一下
防火墙也要关了: systemctl stop firewalld.service
然后就可以了啦

原创粉丝点击