LinuxCentos7下安装Mysql以及密码修改

引言:

之前都是用Docker或者yum自动安装,这次主要是下载压缩包解压安装,中间也有些小波折,记录如下,以供参考:

1.删除旧的MySQL

检查MariaDB:

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

mariadb-libs-5.5.65-1.el7.x86_64

删除MariaDB:

[root@localhost local]# rpm -e --nodeps mariadb-libs

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

下载MySQL安装包

MySQL官网:https://dev.mysql.com/downloads/mysql/

点进去之后下载对应的版本,这儿需要注意自己Linux的版本以及CPU指令集

通常Centos都是Red Hat Enterprise公司的,Linux还有Ubuntu、Debian等公司也是Linux的版本,需要注意,X86是指X86指令集,也就是通常所说的32位,而X86-64又叫X64,是64位.需要了解清楚自己电脑的系统配置.

2、安装MySQL

下载之后,利用Xftp工具传输进Linux对应的文件夹,之后运行tar命令进行解压:

  1. [root@localhost mysql]# tar -xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
  2. mysql-community-client-8.0.22-1.el7.x86_64.rpm
  3. mysql-community-client-plugins-8.0.22-1.el7.x86_64.rpm
  4. mysql-community-common-8.0.22-1.el7.x86_64.rpm
  5. mysql-community-devel-8.0.22-1.el7.x86_64.rpm
  6. mysql-community-embedded-compat-8.0.22-1.el7.x86_64.rpm
  7. mysql-community-libs-8.0.22-1.el7.x86_64.rpm
  8. mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm
  9. mysql-community-server-8.0.22-1.el7.x86_64.rpm
  10. mysql-community-test-8.0.22-1.el7.x86_64.rpm

安装这些rpm文件,他们之间有依赖关系,要注意先后顺序,我们主要安装的是这四个(如果有需要也可以一并安装其它的):

  1. mysql-community-common-8.0.22-1.el7.x86_64.rpm
  2. mysql-community-libs-8.0.22-1.el7.x86_64.rpm
  3. mysql-community-client-8.0.22-1.el7.x86_64.rpm
  4. mysql-community-server-8.0.22-1.el7.x86_64.rpm

安装过程:

  1. shell> rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm
  2. shell> rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm
  3. shell> rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm
  4. shell> rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm

也可以用一种简单的方式,自动处理各个包之间的依赖关系并自动下载缺少的依赖:

  1. shell> yum install mysql-community-{server,client,common,libs}-*

注意:上面的yum install命令需要在tar解压之后的各个rpm包所在目录内执行,否则就变成yum方式安装了,需要配置MySQL的yum源并且速度很慢,还要当前机器支持外网访问

3.密码等相关设置

1.密码修改

Mysql安装之后会设置默认的密码,通过以下指令获得:

  1. [root@localhost mysql]# sudo grep 'temporary password' /var/log/mysqld.log
  2. 2020-12-02T05:29:12.308459Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: QFl6TJm;-Pbx

后面的"QFl6TJm;-Pbx"就是默认登录密码,先登录进MySQL:

  1. [root@localhost mysql]# mysql -u root -p
  2. Enter password:
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 11
  5. Server version: 8.0.22

这时候如果直接修改密码,会因为密码过于简单报错:

  1. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  2. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

如果直接查看修改密码检验规则也会报错:

  1. mysql> SHOW VARIABLES LIKE 'validate_password%';
  2. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

可以先修改默认密码,将"QFl6TJm;-Pbx"修改一个字符变成"QFl6TJm;-Pbb",然后再查看密码检验规则:

  1. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'QFl6TJm;-PbB';
  2. Query OK, 0 rows affected (0.00 sec)
  3. mysql> SHOW VARIABLES LIKE 'validate_password%';
  4. +--------------------------------------+--------+
  5. | Variable_name | Value |
  6. +--------------------------------------+--------+
  7. | validate_password.check_user_name | ON |
  8. | validate_password.dictionary_file | |
  9. | validate_password.length | 8 |
  10. | validate_password.mixed_case_count | 1 |
  11. | validate_password.number_count | 1 |
  12. | validate_password.policy | MEDIUM |
  13. | validate_password.special_char_count | 1 |
  14. +--------------------------------------+--------+
  15. 7 rows in set (0.00 sec)

将检验规则进行修改:

  1. mysql> SET GLOBAL validate_password.length = 5;
  2. Query OK, 0 rows affected (0.00 sec)
  3. mysql>SET GLOBAL validate_password.policy = low;

再修改密码:

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  2. Query OK, 0 rows affected (0.00 sec)

2.允许root远程访问

从MySQL 8开始,不再使用该GRANT命令创建用户。改用CREATE USER,然后使用GRANT语句:

  1. mysql> CREATE USER 'root'@'%' IDENTIFIED BY '123456';
  2. Query OK, 0 rows affected (0.01 sec)
  3. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  4. Query OK, 0 rows affected (0.00 sec)

3.设置编码为utf8

  1. mysql> SHOW VARIABLES LIKE 'character%';
  2. +--------------------------+--------------------------------+
  3. | Variable_name | Value |
  4. +--------------------------+--------------------------------+
  5. | character_set_client | utf8mb4 |
  6. | character_set_connection | utf8mb4 |
  7. | character_set_database | utf8mb4 |
  8. | character_set_filesystem | binary |
  9. | character_set_results | utf8mb4 |
  10. | character_set_server | utf8mb4 |
  11. | character_set_system | utf8 |
  12. | character_sets_dir | /usr/share/mysql-8.0/charsets/ |
  13. +--------------------------+--------------------------------+
  14. 8 rows in set (0.00 sec)

MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8足够,为此还是设置成utf8编码:

  1. mysql> set character_set_client=utf8;
  2. mysql> set character_set_connection=utf8;
  3. mysql> set character_set_database=utf8;
  4. mysql> set character_set_results =utf8;
  5. mysql> set character_set_server=utf8;

关于utf8与utf8mb4区别,可以参考这篇文章:MySQL中 utf8与utf8mb4的区别

4.设置开机启动

  1. shell> systemctl enable mysqld
  2. shell> systemctl daemon-reload

LinuxCentos7下安装Mysql8.x以及密码修改的更多相关文章

  1. centos6.10下安装mysql8.0.16root密码修改的坑

    上图截取别人的自己懒得弄,检查自己的linux是否有安装就按上图做就行了 接下来是我的干货 mysql8.0安群策略对密码设置很严格规则:大小写加数字和特殊字符串 使用yum安装mysql 后 my. ...

  2. centos 7下安装mysql-8.0

    本篇文章主要介绍在centos7 环境下安装mysql8.0并设置为开机自启. 安装步骤 1.配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/  ...

  3. windows下安装mysql8并修改密码

    MySQL下载地址:http://dev.mysql.com/downloads/mysql/ Windows下安装MySQL 我下的是最新版的MySQL,解压后,目录如下: 1.进入dos的命令行, ...

  4. 安装mysql8.0.12以及修改密码和Navicat的连接

    mysql8.0+与安装其他版本不同一.安装mysql8.0.121.到官网https://www.mysql.com/  下载mysql-8.0.12-winx64.zip(不要.mis),直接解压 ...

  5. Windows10下安装MySQL8.0

    1:首先去官网下载安装包 下载地址:https://dev.mysql.com/downloads/mysql/ 这是我下载版本 2:将解压文件解压到你安装的目录:E:\mysql-8.0.11-wi ...

  6. CentOS下安装MYSQL8.X并设置忽略大小写

    安装 在官网上下载:mysql80-community-release-el7-2.noarch.rpm.安装方式与5.7基本相同.详细安装过程见:CentOS下安装mysql5.7和mysql8.x ...

  7. windows下安装mysql8.0压缩版

         下面总结下安装过程: 首先解压下载好的压缩版本. 将解压后mysql的bin文件目录配置系统环境path变量中 使用cmd打开命令窗口,输入mysqld  --initialize命令初始化 ...

  8. Linux-CentOS7下安装Oracle11g

    简述: 本文操作环境采用CentOS7 Linux安装Oracle11g与Windows区别较大,在Linux下需要创建用户以及用户组来供Oracle使用 Windows可以直接图形化界面从第一步到最 ...

  9. 虚拟机下安装ubuntu后root密码设置

    ctrl+alt+t:调出命令行. 问题描述: 在虚拟机下安装了ubuntu中要输入用户名,一般情况下大家都会输入一个自己的网名或绰号之类的,密码也在这时设置过了. 但是当安装成功之后,使用命令#su ...

随机推荐

  1. 为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate

    一.前言 因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibe ...

  2. [实用指南]如何使您的旧代码库(遗留代码)符合MISRA C 2012编码规范?

    重用旧代码是现实,但是在安全关键型软件项目中重用旧代码并实现MISRA C 2012的完全合规性是艰巨的任务. 最初的MISRA原则是为了在开发代码时应用而创建的,即使文档本身也有警告: " ...

  3. iOS 集成友盟分享图片链接为http时无法加载问题解决

    一.问题描述 UMShareWebpageObject *obj = [UMShareWebpageObject shareObjectWithTitle:title descr:shareText ...

  4. asp.net webapi 给字段赋初始值DefaultValue 解决前端传空字符串后台接受不是“”而是NULL

    /// <summary> /// 存储ID /// </summary> public Guid SaveID { get; set; } /// <summary&g ...

  5. linux不同环境变量文件的比较,如/etc/profile和/etc/environment

    /etc/profile 为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效. 当被修改时,必须重启才会生效.英文描述:"System w ...

  6. Spring AOP 实战运用

    Spring AOP 实战 看了上面这么多的理论知识, 不知道大家有没有觉得枯燥哈. 不过不要急, 俗话说理论是实践的基础, 对 Spring AOP 有了基本的理论认识后, 我们来看一下下面几个具体 ...

  7. 【mysql】- Expalin篇

    简介 id:在一个大的查询语句中每个 SELECT 关键字都对应一个唯一的id 与查询优化器有关,假如被优化过,那么可能是上下两个的id都是一样的 select_type:SELECT 关键字对应的那 ...

  8. SpringBoot文件上传配置

    /** * 文件上传配置 * @return */ @Bean public MultipartConfigElement multipartConfigElement() { MultipartCo ...

  9. js--数组的every()和some()方法检测数组是否满足条件的使用介绍

    前言 阅读本文之前先来思考一个问题,如何如实现判断一个数组中是否存在满足条件的元素,如何去判断数组中是否全部元素都满足判断条件,这里可能能想到使用for循环遍历数组,if()判断每一项是否符合条件,同 ...

  10. TurtleBot3使用课程-第一节a(北京智能佳)

    目录 1.ROS设置(远程PC) 2 1.1 ROS安装和设置 2 1.1.1 设置source.list 2 1.1.2 键设置 2 1.1.3 ROS安装 2 1.1.4安装包构建的依赖关系 2 ...