centos7安装mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar和远程访问

centos7安装mysql-8,找到初始默认密码、登陆、修改密码,远程访问,远程连接数据库授权,设置简单密码。

1、下载

下载mysql官网地址:https://dev.mysql.com/downloads/file/?id=484537.点击页面底部No thanks, just start my download.开始下载。

2、安装

  1. 解压安装包:tar -xvf mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar;
  2. 文件安装顺序:common --> libs --> client --> server --> devel。(devel可不装)安装命令:rpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm
  3. 当提示“mariadb-libs 被 mysql-community-libs-8.0.15-1.el7.x86_64 取代”,是lib和系统自带的冲突,删除后继续:yum remove mysql-libs -y
  4. 依赖缺失时“net-tools 被 mysql-community-server-8.0.15-1.el7.x86_64 需要”,直接安装缺失的依赖:yum install net-tools -y
  5. 过程如下:
[root@localhost mysql]# ll   --进入上传文件的目录,查看文件
总用量 508952
-rw-r--r--. 1 root root 521164800 4月  15 14:36 mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar
[root@localhost mysql]# tar -xvf mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar
mysql-community-server-8.0.15-1.el7.x86_64.rpm
mysql-community-client-8.0.15-1.el7.x86_64.rpm
mysql-community-common-8.0.15-1.el7.x86_64.rpm
mysql-community-libs-8.0.15-1.el7.x86_64.rpm
mysql-community-devel-8.0.15-1.el7.x86_64.rpm
mysql-community-test-8.0.15-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.15-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.15-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm
警告:mysql-community-common-8.0.15-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-8.0.15-1.e################################# [100%]
[root@localhost mysql]# rpm -ivh mysql-community-libs-8.0.15-1.el7.x86_64.rpm 
警告:mysql-community-libs-8.0.15-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
        mariadb-libs 被 mysql-community-libs-8.0.15-1.el7.x86_64 取代
[root@localhost mysql]# yum remove mysql-libs -y
已加载插件:fastestmirror   ***************   完毕!
[root@localhost mysql]# rpm -ivh mysql-community-libs-8.0.15-1.el7.x86_64.rpm 
警告:mysql-community-libs-8.0.15-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-libs-8.0.15-1.el7################################# [100%] 
[root@localhost mysql]# rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm 
警告:mysql-community-client-8.0.15-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-client-8.0.15-1.e################################# [100%]
[root@localhost mysql]# rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm 
警告:mysql-community-server-8.0.15-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
        net-tools 被 mysql-community-server-8.0.15-1.el7.x86_64 需要
[root@localhost mysql]# yum install net-tools -y
已加载插件:fastestmirror     *****************  完毕!
[root@localhost mysql]# rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm 
警告:mysql-community-server-8.0.15-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-server-8.0.15-1.e################################# [100%]
[root@localhost mysql]# rpm -ivh mysql-community-devel-8.0.15-1.el7.x86_64.rpm 
警告:mysql-community-devel-8.0.15-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
        pkgconfig(openssl) 被 mysql-community-devel-8.0.15-1.el7.x86_64 需要
[root@localhost mysql]# yum install openssl-devel -y
已加载插件:fastestmirror         ********************    完毕!
[root@localhost mysql]# rpm -ivh mysql-community-devel-8.0.15-1.el7.x86_64.rpm

3、找到密码、登陆、修改密码

  1. 找到安装日志:/var/log/mysqld.log 
  2. 查看日志中的密码:A temporary password is generated for root@localhost: #+Tp!)#Fv6e;(注意:分号也属于密码)
  3. [root@localhost /]# cd /var/log/
    [root@localhost log]# cat mysqld.log 
    2019-04-16T02:32:17.449527Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.15) initializing of server in progress as process 7205
    2019-04-16T02:32:25.466789Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: #+Tp!)#Fv6e;
  4. 重启MySQL服务:service mysqld restart 或者 /bin/systemctl restart mysqld.service(这里没有设置,只能用第二个方法启动)
  5. 登陆:mysql -u root -p,密码是前面查看日志得到的。
  6. 修改登陆密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'QWE123@qweasd';如果提示“Your password does not satisfy the current policy requirements”,而自己又不想设置那么复杂的密码,看最后步骤修改密码校验。在这里设置密码校验的话,flush privileges;会重置原先从状态。
  7. 开放所有ip地址都能访问:CREATE USER 'root'@'%' IDENTIFIED BY 'root123';root123是你自己设置的密码,若执行开放指定ip能访问,把%换成ip地址。
  8. 修改加密方式:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123';MySQL8默认是caching_sha2_password
  9. 开放防火墙端口
  • 查看防火墙开放的端口。firewall-cmd --zone=public --list-ports
  • 开启防火墙端口3306:firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost /]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
[root@localhost /]# /bin/systemctl restart mysqld.service
[root@localhost /]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.15
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY 'QWE123@qweasd';
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host, user, authentication_string, plugin from user;
+---------------+------------------+------------------------------------------------------------------------+-----------------------+
| host          | user             | authentication_string                                                  | plugin                |
+---------------+------------------+------------------------------------------------------------------------+-----------------------+
| localhost     | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost     | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost     | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost     | root             | $A$005$dk,F%
                                                 L^}    :S~YKphTcC.p3U1zuJjR1ZRL6zcMxyVLV4a3X9Uey9o6aQS3 | caching_sha2_password |
+---------------+------------------+------------------------------------------------------------------------+-----------------------+
5 rows in set (0.00 sec)

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root123';
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123';
Query OK, 0 rows affected (0.01 sec)

mysql> select host, user, authentication_string, plugin from user;
+---------------+------------------+------------------------------------------------------------------------+-----------------------+
| host          | user             | authentication_string                                                  | plugin                |
+---------------+------------------+------------------------------------------------------------------------+-----------------------+
| %             | root             | *FAAFFE644E901CFAFAEC7562415E5FAEC243B8B2                              | mysql_native_password |
| localhost     | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost     | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost     | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost     | root             | $A$005$dk,F%
                                                 L^}    :S~YKphTcC.p3U1zuJjR1ZRL6zcMxyVLV4a3X9Uey9o6aQS3 | caching_sha2_password |
+---------------+------------------+------------------------------------------------------------------------+-----------------------+
6 rows in set (0.00 sec)

mysql> 
[root@localhost ~]# firewall-cmd --zone=public --list-ports
80/tcp 8080/tcp 8081/tcp 8761/tcp
[root@localhost ~]# firewall-cmd --permanent --add-port=3306/tcp
success
[root@localhost ~]# firewall-cmd --zone=public --list-ports
80/tcp 8080/tcp 3306/tcp 8081/tcp 8761/tcp

远程连接数据库授权

  • 创建数据库:CREATE SCHEMA `testd_atabase` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
  • 授权远程连接:grant all on testd_atabase.* to 'root'@'%' identified by 'root123' with grant option;
  • 如果在客户端创建表时报错:"Error 1142: CREATE command denied to user 'root'@'192.168.85.1' for table 'test_table'",查看user表中'root'@'%'没有grant的权限:select Grant_priv,Super_priv from user where user = 'root' and host = '%';(如果你是指定的IP权限,这里的%换成指定的IP),结果改为“Y”,我是设置全部为“Y”,建议不要
    [root@localhost ~]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 12
    Server version: 8.0.15 MySQL Community Server - GPL
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> CREATE SCHEMA `testd_atabase` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
    Query OK, 1 row affected, 2 warnings (0.01 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | testd_atabase      |
    +--------------------+
    5 rows in set (0.00 sec)
    
    mysql> grant all on testd_atabase.* to 'root'@'%';
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> grant all on *.* to 'root'@'%';        
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> update mysql.user set Grant_priv='Y',Super_priv='Y' ;
    Query OK, 3 rows affected (0.00 sec)
    Rows matched: 5  Changed: 3  Warnings: 0
    
    mysql> select host,Grant_priv,Super_priv from mysql.user ;
    +-----------+------------+------------+
    | host      | Grant_priv | Super_priv |
    +-----------+------------+------------+
    | %         | Y          | Y          |
    | localhost | Y          | Y          |
    | localhost | Y          | Y          |
    | localhost | Y          | Y          |
    | localhost | Y          | Y          |
    +-----------+------------+------------+
    5 rows in set (0.00 sec)
    
    mysql> quit
    Bye
    [root@localhost ~]# /bin/systemctl restart mysqld.service

    到这里,就可以访问你的远程操作数据库了。

附:

设置登陆密码的复杂度。在设置登陆密码时,总会提示:“Your password does not satisfy the current policy requirements”。

  • 首先查看密码规则: SHOW VARIABLES LIKE 'validate_password%'; 
  • length设置:set global validate_password.length=4;
  • policy设置:set global validate_password.policy=0;
    mysql> SHOW VARIABLES LIKE 'validate_password%'; 
    +--------------------------------------+--------+
    | Variable_name                        | Value  |
    +--------------------------------------+--------+
    | validate_password.check_user_name    | ON     |
    | validate_password.dictionary_file    |        |
    | validate_password.length             | 8      |
    | validate_password.mixed_case_count   | 1      |
    | validate_password.number_count       | 1      |
    | validate_password.policy             | MEDIUM |
    | validate_password.special_char_count | 1      |
    +--------------------------------------+--------+
    7 rows in set (0.01 sec)
    
    mysql> set global validate_password.length=4;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> set global validate_password.policy=0; 
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SHOW VARIABLES LIKE 'validate_password%'; 
    +--------------------------------------+-------+
    | Variable_name                        | Value |
    +--------------------------------------+-------+
    | validate_password.check_user_name    | ON    |
    | validate_password.dictionary_file    |       |
    | validate_password.length             | 4     |
    | validate_password.mixed_case_count   | 1     |
    | validate_password.number_count       | 1     |
    | validate_password.policy             | LOW   |
    | validate_password.special_char_count | 1     |
    +--------------------------------------+-------+
    7 rows in set (0.00 sec)
    

     

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值