MySQL 8.0

centos7.5 x86_64

一、yum安装

1.先卸载机器和mysql有关的东西,有的安装了mariab-lib,会对安装有干扰,卸载了它。

[root@localhost ~]# rpm -qa |grep mariadb

mariadb-libs-5.5.60-1.el7_5.x86_64

2.卸载命令

yum erase -y mariadb-libs-5.5.60-1.el7_5.x86_64

二.安装mysql 8.0 社区版yum仓库

1.官方网站

2.下载仓库包

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

3.安装仓库

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

4.安装mysql 8.0版

yum install -y mysql-community-{server,client,common,libs}-*

5.启动mysql 8.0

systemctl start mysqld

systemctl enable mysqld

6.查看日志,找到临时密码,这里还一个问题,日志这个时间不正确,与本地差好几个小时呢 ,这个在安装完了,再调下。

[root@localhost ~]# tailf /var/log/mysqld.log2019-01-12T13:59:34.558708Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.13) initializing of server in progress as process 7038

2019-01-12T13:59:36.873412Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: :ZSytWyMp6Q>

2019-01-12T13:59:38.113827Z 0 [System] [MY-013170] [Server] /usr/sbin/mysqld (mysqld 8.0.13) initializing of server has completed2019-01-12T13:59:39.798256Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.13) starting as process 7085

2019-01-12T13:59:40.949981Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem isself signed.2019-01-12T13:59:41.019836Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.13' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server -GPL.2019-01-12T13:59:41.190008Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060

这个就启动了 第二行 最后那个就是密码

7.登录

把那个临时密码输入进去,就可以登录了

[root@localhost ~]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection idis 12Server version:8.0.13Copyright (c)2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracleis 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>

8.修改临时密码

跟之前的版本不一样,得把临时密码给改了,之前set password=password('mima') 这个命令已经不好使了

mysql>show databases;

ERROR1820 (HY000): You must reset your password using ALTER USER statement before executing thisstatement.

mysql>

yum 安装还有一个问题,就是密码还有复杂性要求,这东西策略我还不知道怎么改

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'dgdb20I5';

ERROR1819(HY000): Your password does not satisfy the current policy requirements

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'dgdB20I5!@#';

Query OK,0 rows affected (0.02sec)

mysql>

用新密码重新登录就行了

9.修改日志时间问题

mysql> selectnow();+---------------------+

| now() |

+---------------------+

| 2019-01-12 22:22:19 |

+---------------------+

1 row in set (0.00sec)

mysql> SHOW GLOBAL VARIABLES LIKE 'log_timestamps';+----------------+-------+

| Variable_name | Value |

+----------------+-------+

| log_timestamps | UTC |

+----------------+-------+

1 row in set (0.00sec)

mysql> SET GLOBAL log_timestamps =SYSTEM;

Query OK,0 rows affected (0.00sec)

mysql> SHOW GLOBAL VARIABLES LIKE 'log_timestamps';+----------------+--------+

| Variable_name | Value |

+----------------+--------+

| log_timestamps | SYSTEM |

+----------------+--------+

1 row in set (0.00sec)

mysql> exit

且默认安装后error_log,slow_log 日志时间戳默认为UTC,因此会造成与系统时间不一致,与北京时间相差8个小时

因为log_timestamps 是一个GLOBAL的全局参数,所以直接在登录后去set全局参数,重启后就会直接失效

因此需要在mysql的配置文件中[mysqld]中增加一条log_timestamps的配置

vim /etc/my.cnf

[mysqld]

log_timestamps=SYSTEM

重启下MySQL

systemctl restart mysqld

再查看下日志,果然时间就对了

[root@localhost ~]# tailf /var/log/mysqld.log2019-01-12T13:59:38.113827Z 0 [System] [MY-013170] [Server] /usr/sbin/mysqld (mysqld 8.0.13) initializing of server has completed2019-01-12T13:59:39.798256Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.13) starting as process 7085

2019-01-12T13:59:40.949981Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem isself signed.2019-01-12T13:59:41.019836Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.13' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server -GPL.2019-01-12T13:59:41.190008Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060

2019-01-12T22:29:25.655750+08:00 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.13) MySQL Community Server -GPL.2019-01-12T22:29:26.338014+08:00 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.13) starting as process 24698

2019-01-12T22:29:26.856796+08:00 0 [Warning] [MY-010068] [Server] CA certificate ca.pem isself signed.2019-01-12T22:29:26.878264+08:00 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.13' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server -GPL.2019-01-12T22:29:27.007610+08:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060

10.修改MySQL数据目录位置

a.查询MySQL 8.0默认数据目录

mysql> show variables like '%dir%';+-----------------------------------------+--------------------------------+

| Variable_name | Value |

+-----------------------------------------+--------------------------------+

| basedir | /usr/ |

| binlog_direct_non_transactional_updates | OFF |

| character_sets_dir | /usr/share/mysql-8.0/charsets/ |

| datadir | /var/lib/mysql/ |

| innodb_data_home_dir | |

| innodb_directories | |

| innodb_log_group_home_dir | ./ |

| innodb_max_dirty_pages_pct | 90.000000 |

| innodb_max_dirty_pages_pct_lwm | 10.000000 |

| innodb_temp_tablespaces_dir | ./#innodb_temp/ |

| innodb_tmpdir | |

| innodb_undo_directory | ./ |

| lc_messages_dir | /usr/share/mysql-8.0/ |

| plugin_dir | /usr/lib64/mysql/plugin/ |

| slave_load_tmpdir | /tmp |

| tmpdir | /tmp |

+-----------------------------------------+--------------------------------+

16 rows in set (0.00 sec)

显而易见,datadir在 /var/lib/myql

b.先把MySQL停下来

systemctl stop mysqld

c.创建数据目录,复制数据文件(加入我把数据目录放到/home/下)

mkdir /home/mysql_data

cp-r /var/lib/mysql/*/home/mysql_data/

chown -R mysql:mysql /home/mysql_data

d.编辑配置文件

vim /etc/my.cnf

datadir=/home/mysql_data

socket=/home/mysql_data/mysql.sock

#下面这得加上,不然服务能起来,你客户端不能登录

[mysql]

socket=/home/mysql_data/mysql.sock

e.启动并查询

systemctl start mysqld

[root@localhost my.cnf.d]# mysql-u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection idis 8Server version:8.0.13 MySQL Community Server -GPL

Copyright (c)2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracleis 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> show variables like '%dir%';+-----------------------------------------+--------------------------------+

| Variable_name | Value |

+-----------------------------------------+--------------------------------+

| basedir | /usr/ |

| binlog_direct_non_transactional_updates | OFF |

| character_sets_dir | /usr/share/mysql-8.0/charsets/ |

| datadir | /home/mysql_data/ |

| innodb_data_home_dir | |

| innodb_directories | |

| innodb_log_group_home_dir | ./ |

| innodb_max_dirty_pages_pct | 90.000000 |

| innodb_max_dirty_pages_pct_lwm | 10.000000 |

| innodb_temp_tablespaces_dir | ./#innodb_temp/ |

| innodb_tmpdir | |

| innodb_undo_directory | ./ |

| lc_messages_dir | /usr/share/mysql-8.0/ |

| plugin_dir | /usr/lib64/mysql/plugin/ |

| slave_load_tmpdir | /tmp |

| tmpdir | /tmp |

+-----------------------------------------+--------------------------------+

16 rows in set (0.01 sec)

11.mysql免密码登录

直接在[mysql]下面添加root password就行了

vim /etc/my.cnf

[mysql]

user='root'password='dgdB20I5!@#'

下次直接输入mysql就可以登录了,方便的很,生产环境谨慎使用

[root@localhost ~]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection idis 12Server version:8.0.13 MySQL Community Server -GPL

Copyright (c)2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracleis 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>exit

Bye

12.配置MySQL远程连接配置

[root@localhost ~]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection idis 15Server version:8.0.13 MySQL Community Server -GPL

Copyright (c)2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracleis 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>use mysql;

Reading table informationforcompletion of table and column names

You can turn offthis feature to get a quicker startup with -A

Database changed

mysql> select host, user, authentication_string, plugin fromuser;+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| 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$LP^CZmMk

T4'S0

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

4 rows in set (0.00sec)

mysql>

这里看到都是localhost,所以还不能远程连接

root账户为默认的密码加密方式是:caching_sha2_password;而现在很多客户端工具还不支持这种加密认证方式,连接测试的时候就会报错:client does not support authentication protocol requested by server; consider upgrading MySQL client,这里的错误信息就是不支持身份认证方式 新创建的用户有效,老用户还是不行的

所以,我们需要修改下配置文件,修改下默认加密方式,在[mysqld]下面添加一行default-authentication-plugin=mysql_native_password

vim /etc/my.cnf

[mysqld]default-authentication-plugin=mysql_native_password

重启MySQL

systemctl restart mysqld

修改用户远程访问权限

mysql> grant all on *.* to 'root'@'%' identified by 'Zhang87073!';

ERROR1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by'Zhang87073!'' at line 1

MySQL 8.0 这里报错了。。。之前的版本都是这样一行就搞定了 。。。所以 。。。

#这里先创建一个用户

mysql> create user 'root'@'%' identified by 'Zhang87073!';

Query OK,0 rows affected (0.06sec)

#在进行授权

mysql> grant all privileges on *.* to 'root'@'%'with grant option;

Query OK,0 rows affected (0.05sec)

#再查看一下

mysql>use mysql;

Reading table informationforcompletion of table and column names

You can turn offthis feature to get a quicker startup with -A

Database changed

mysql> select host, user, authentication_string, plugin fromuser;+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| host | user | authentication_string | plugin |

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| % | root | *43CAAB27D90B4E33EC75DEEFA02577F7E2BACE93 | 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$LP^CZmMk

T4'S0

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

5 rows in set (0.00sec)

远程连接测试

13.修改密码策略

yum 安装的时候 遇到了密码策略的问题,我查询了一下,现在得到了答案,且发现二进制包安装完,这个密码策略是空的。

a.查看当前的密码策略

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.00 sec)

b.密码策略的解释

validate_password.check_user_name 这个参数用来检查用户名

validate_password_dictionary_file 字典文件

validate_password_length密码长度的最小值(这个值最小要是4)。

validate_password_mixed_case_count大小写的最少个数

validate_password_number_count 密码中数字的最少个数

validate_password_policy 这个参数用于控制validate_password的验证策略 0-->low 1-->MEDIUM 2-->strong。

validate_password_special_char_count 特殊字符的最小个数

c.修改密码策略

举个例子 知道怎么搞就行了 (我觉得这东西还是复杂点没坏处)

mysql > set global validate_password.policy=0;

mysql> set global validate_password.policy=0;

mysql> set global validate_password.length=4;

mysql> set global validate_password.check_user_name=OFF;

mysql> set global validate_password.number_count=0;

mysql> set global validate_password.special_char_count=0;

mysql>flush privileges;

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

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

OK了 就写这么多吧。MySQL 8.0我也是第一次用

mysql yum安装与配置文件_MySQL 8.0 yum安装和配置相关推荐

  1. mysql数据库的安装和配置文件_MySQL 数据库安装与配置详解

    目录 一.概述 MySQL 版本:5.7.17 客户端工具:NavicatforMySQL ** 二.MySQL 安装** 安装条件: 如果 Windows Server 2003 在安装.net f ...

  2. mysql 8.0优化配置_mysql 8.0.18 安装配置优化教程

    Mysql安装.配置.优化,供大家参考,具体内容如下 Mysql下载 首先登入官网下载mysql的安装包,官网地址https://dev.mysql.com/下拉到最后选择downloads里的 My ...

  3. centos 安装mysql5.6.22_centos 7.0 编译 安装mysql 5.6.22 过程 已完成~ 成功~ 撒花~

    mysql 下载目录/usr/local/src mysql 解压目录 /usr/local/bin/mysql GitHub https://github.com/mysql/mysql-serve ...

  4. mysql8.0.17下载教程_mysql 8.0.17 安装配置图文教程

    1.下载安装包 下载地址:安装包 2.解压安装包到目录 这里解压到了D:\mysql-8.0.17-winx64 (图中有些文件是后续安装步骤生成的) 3.配置环境变量 我的电脑→右键→属性→高级系统 ...

  5. 安装mysql8.019命令符_MySQL 8.0.19安装教程(windows 64位)

    话不多说直接开干 目录 下载完成后解压 解压完是这个样子 配置初始化的my.ini文件的文件 解压后的目录并没有的my.ini文件,没关系可以自行创建在安装根目录下添加的my.ini(新建文本文件,将 ...

  6. mysql安装教程8.0.21安装,Windows系统下MySQL8.0.21安装教程(图文详解)

    安装建议:尽量不要用.exe进行安装,用压缩包安装,对日后的卸载/版本升级更为方便 下载地址:https://dev.mysql.com/downloads/mysql/ 1.点击上面的下载地址得到z ...

  7. redhat yum 安装 mysql_Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)...

    MySQL Database Service数据库服务器具有以下特点: 具有分析引擎的MySQL数据库服务: MySQL数据库服务是一项完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原 ...

  8. mysql-8.0.14zip怎么使用_mysql 8.0.14 安装配置方法图文教程(通用)

    mysql服务8.0.14安装(通用),供大家参考,具体内容如下 安装环境:windows 安装步骤: 1.下载zip安装包 2.解压zip安装包 3.配置环境变量 4.添加配置文件 5.cmd安装m ...

  9. mysql8.017安装教程_mysql 8.0.17 安装图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.17 安装配置方法图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文为大家分享了mysql 8.0.17 安装 ...

最新文章

  1. CUDA学习-计算实际线程ID
  2. 关于eclpse java项目与tomcat jdk版本不一致的解决方法
  3. 剑指offer 算法 (位运算)
  4. 2008世界大学排名(泰晤士报)Top200
  5. 《面向对象程序设计》第一次作业
  6. c语言文件分屏显示,通用子目录文件显示方法
  7. 大白菜安装服务器linux,通过U盘安装Debian
  8. python爬取json数据_Python爬取数据保存为Json格式的代码示例
  9. TCP/IP的全部IP协议号
  10. kindle 新手入门
  11. 照片转3d模型_云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型...
  12. Trustzone的一些理解
  13. OpenGL FBO学习
  14. 债券数据集:绿色债券数据集、历时新发、发行债券、DCM定价估值四大指标数据
  15. 淘宝天猫店铺微信公众平台建设指南
  16. 【最小栈c++】设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈
  17. linux 7分区 fdisk,CentOS7创建逻辑卷,fdisk分区方式。
  18. mathtype试用期到后继续使用
  19. java商品类_商品类目选择功能开发
  20. 计算机组成原理云南大学,云南大学信息学院计算机方向

热门文章

  1. [转]WebService 之 WSDL文件 讲解
  2. 并查集——集合(洛谷 P1621)
  3. 如何在Oracle数据库内格式化SQL或PL/SQL ?
  4. 操作系统宕机,MySQL数据找回记录
  5. 云小课|RDS实例连接又失败?看我祭出杀手锏!
  6. 前端面试常考题:JS垃圾回收机制
  7. “先加密后签名”是不是安全?看完这篇就秒懂!
  8. 终端传感了解吗?18个知识点为你扫盲
  9. 【华为云技术分享】小白学YOLO:一文带你学YOLOv1 Testing
  10. 将Android手机打造成你的Python开发者桌面#华为云·寻找黑马程序员#