Mysql for Linux的安装以及远程访问

Linux下MySQL的安装


下载

下载rpm包,可以选择去官网下载,或者选择镜像

MySQL官网下载地址

http://dev.mysql.com/downloads/mysql/

MySQL搜狐镜像下载地址

http://mirrors.sohu.com/mysql/MySQL-5.7/

安装

  1. 检查是否安装过,或其他衍生版本,例如mariadb ,一般centos 7 默认安装. centos6默认安装mysql

    [root@hadoop102 ~]$ rpm -qa|grep mariadb
    mariadb-libs-5.5.56-2.el7.x86_64 //如果存在通过如下命令卸载
    [root@hadoop102 ~]$ rpm -e --nodeps  mariadb-libs   //用此命令卸载mariadb
    
  2. 将MySQL安装包拷贝到/opt/software目录下

    [root@hadoop102 software]# ll
    总用量 528384
    -rw-r--r--. 1 root root 609556480 3月  21 15:41 mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
    
  3. 解压

    [root@hadoop102 software]# tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
    
  4. 利用rpm安装

    [root@hadoop102 software]$ rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
    [root@hadoop102 software]$ rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
    [root@hadoop102 software]$rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
    [root@hadoop102 software]$ rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
    [root@hadoop102 software]$ rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
    

    需要注意执行顺序!! 因为它们之间有依赖关系

  5. 删除/etc/my.cnf文件中datadir指向的目录下的所有内容

  • 查看datadir的值:

    [root@hadoop102 software] cat /etc/my.cnf

​ [mysqld]

​ datadir=/var/lib/mysql

  • 删除/var/lib/mysql目录下的所有内容:

    [root@hadoop102 mysql]# pwd

    /var/lib/mysql

    [root@hadoop102 mysql]# rm -rf * //注意执行命令的位置

  1. 初始化数据库

    [root@hadoop102 opt]$ mysqld --initialize --user=mysql
    
  2. 查看临时生成的root用户的密码

    [root@hadoop102 opt]$ cat /var/log/mysqld.log 
    
  3. 启动MySQL服务

    [root@hadoop102 opt]$ service mysqld start
    
  4. 登录MySQL数据库

    [root@hadoop102 opt]$ mysql -uroot -p
    Enter password:  输入临时生成的密码
    

    登录成功.

  5. 必须先修改root用户的密码,否则会报错

    mysql> set password = password("新密码")
    

Navicat连接MySQL服务


执行 select user ,host from mysql.user where user = 'root';

当root用户对应host值为localhost,意味着只允许本机连接.

需要修改host的值为 % , 表示所有ip均可连接

update user set host='%' where user = 'root';

flush privileges;

然后测试即可,若任连接不上,可能是centos防火墙的原因.关闭即可

systemctl stop firewalld

posted @ 2020-05-12 17:33  Earnest杰  阅读(176)  评论(0编辑  收藏  举报