Linux下安装mysql5.7.24,并赋予root远程访问权限

文章目录

  • Linux下安装mysql5.7.24,并赋予root远程访问权限
    • 1.1.部署环境
    • 1.2.下载mysql5.7.24的rpm文件
    • 1.3.查看并卸载系统自带的mysql组件
    • 1.4.centOS7需要先卸载系统自带的mariadb数据库
    • 1.5.安装mysql5.7.24
      • 1.5.1.将安装包上传至Linux并解压
      • 1.5.2.按照依赖顺序依次安装:
      • 1.5.3.安装过程提示缺少依赖包 libaio
      • 1.5.4.修改“/etc/my.cnf”文件
      • 1.5.5.重启mysql服务
      • 1.5.6.使用临时密码登录mysql:
    • 1.6.修改root用户密码:
    • 1.7.设置root用户远程访问
    • 1.8.重启mysql服务:service mysqld restart
    • 1.9.使用mysql客户端测试连接mysql数据库;

Linux下安装mysql5.7.24,并赋予root远程访问权限

参考文档:
centos 7安装mysql5.5的方法_慕课手记 :https://www.imooc.com/article/47009
安装mysql数据库及问题解决方法_ITPUB博客 http://blog.itpub.net/31015730/viewspace-2152272/

1.1.部署环境

Linux操作系统:centOS6_64位
mysql版本:mysql 5.7.24

1.2.下载mysql5.7.24的rpm文件

Linux下安装mysql5.7.24,并赋予root远程访问权限_第1张图片
mysql-5.7.24-1.el6.x86_64.rpm-bundle.tar 下载网址:
MySQL :: Begin Your Download
https://dev.mysql.com/downloads/file/?id=481078
点击No thanks, just start my download.进行下载。

1.3.查看并卸载系统自带的mysql组件

(1)使用rpm -qa|grep -i mysql 命令查看系统自带的mysql组件
在这里插入图片描述
(2)使用rpm -ev mysql-XXX命令卸载组件
如果卸载时,提示有依赖,则使用“rpm -ev --nodeps mysql-XXX”强制卸载组件
在这里插入图片描述

1.4.centOS7需要先卸载系统自带的mariadb数据库

#列出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 需要

#使用 --nodep 进行强制卸载
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64

1.5.安装mysql5.7.24

1.5.1.将安装包上传至Linux并解压

将“mysql-5.7.24-1.el6.x86_64.rpm-bundle.tar”上传至服务器中,例如上传至“/home”目录。
解压:tar -xvf mysql-5.7.24-1.el6.x86_64.rpm-bundle.tar
Linux下安装mysql5.7.24,并赋予root远程访问权限_第2张图片

1.5.2.按照依赖顺序依次安装:

        rpm -ivh mysql-community-common-5.7.24-1.el6.x86_64.rpm
        rpm -ivh mysql-community-libs-5.7.24-1.el6.x86_64.rpm
        rpm -ivh mysql-community-libs-compat-5.7.24-1.el6.x86_64.rpm
        rpm -ivh mysql-community-client-5.7.24-1.el6.x86_64.rpm
        rpm -ivh mysql-community-server-5.7.24-1.el6.x86_64.rpm
Linux下安装mysql5.7.24,并赋予root远程访问权限_第3张图片

1.5.3.安装过程提示缺少依赖包 libaio

在执行rpm命令进行安装的过程中,可能会提示:
        libaio.so.1()(64bit) is needed by MySQL-server 问题
可以直接实用yum包管理工具安装即可:yum install libaio
也可以从网址
http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
中下载libaio的rpm安装包进行安装。

1.5.4.修改“/etc/my.cnf”文件

Linux下安装mysql5.7.24,并赋予root远程访问权限_第4张图片

1.5.5.重启mysql服务

service mysqld restart
之前经常使用的mysql5.5重启mysql服务的命令是:service mysql restart,到了mysql5.7.24好像mysql不管用了,必须使用mysqld。这个问题之后再研究研究。

1.5.6.使用临时密码登录mysql:

说明:mysql5.7.24版本和之前经常使用的mysql5.5版本不同。mysql5.5版本,在安装完成之后,可以直接使用使用“mysql -uroot”命令登录mysql,但是mysql5.7.24安装完成之后不能使用root用户免密登录,需要使用临时密码进行登录。
①mysql5.7.24 在安装之后,直接使用“mysql -uroot”无法登录,报错如下:
在这里插入图片描述
②使用临时密码进行登录,查询临时密码:grep “password” /var/log/mysqld.log
Linux下安装mysql5.7.24,并赋予root远程访问权限_第5张图片
可以看到,我这里的临时密码是:x6i&t(+S>ngk
③使用临时密码登录:mysql -uroot -p
备注:不能使用“mysql -uroot -px6i&t(+S>ngk”的方式进行登录,会报错“-bash: syntax error near unexpected token `+S’”。
Linux下安装mysql5.7.24,并赋予root远程访问权限_第6张图片

1.6.修改root用户密码:

修改root用户密码,依次执行一下语句:

mysql> set global validate_password_policy=0;
mysql> set password for 'root'@'localhost' =password('beijing123');
mysql> flush privileges;
mysql> exit; 

图片参考:
Linux下安装mysql5.7.24,并赋予root远程访问权限_第7张图片
说明:
①set global validate_password_policy=0; —修改数据库密码有效性策略。
在执行“set password for ‘root’@‘localhost’ =password(‘password’);”对root用户进行密码修改时,报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements”。

上述报错的原因:其实与validate_password_policy的值有关。
validate_password_policy有以下取值:
Linux下安装mysql5.7.24,并赋予root远程访问权限_第8张图片
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
解决方法:修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
 
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                 8 |
+----------------------------+
1 row in set (0.05 sec)

默认的密码长度是8,少于8位依旧会出现报错 。

②修改root用户密码
修改root用户密码的SQL语句有两种:
            set password for ‘root’@‘localhost’ =password(‘beijing123’);
或者:
            ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘beijing123’;

1.7.设置root用户远程访问

登录mysql数据库:mysql -uroot -p
依次执行一下语句:

mysql> use mysql;
mysql> update user set host='%' where user='root';
mysql> flush privileges;
mysql> grant all privileges on *.* to root@'%';
mysql> flush privileges;
mysql> create database AUTH;
mysql> use AUTH;
mysql> alter database AUTH default character set utf8;
mysql> set names utf8;
mysql> exit; 

后面几条SQL语句为创建AUTH数据库的语句,如果不需要则不执行。
执行过程截图:
Linux下安装mysql5.7.24,并赋予root远程访问权限_第9张图片
在这里插入图片描述

1.8.重启mysql服务:service mysqld restart

1.9.使用mysql客户端测试连接mysql数据库;

如果连接不上,则使用命令telnet 192.168.0.196 3306判断是否成功,如果不成功则可能需要在服务端防火墙上开启3306端口;

你可能感兴趣的:(mysql)