LinuxCentos7下安装Mysql8.x以及密码修改
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命令进行解压:
[root@localhost mysql]# tar -xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
mysql-community-client-8.0.22-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.22-1.el7.x86_64.rpm
mysql-community-common-8.0.22-1.el7.x86_64.rpm
mysql-community-devel-8.0.22-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm
mysql-community-server-8.0.22-1.el7.x86_64.rpm
mysql-community-test-8.0.22-1.el7.x86_64.rpm
安装这些rpm文件,他们之间有依赖关系,要注意先后顺序,我们主要安装的是这四个(如果有需要也可以一并安装其它的):
mysql-community-common-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-8.0.22-1.el7.x86_64.rpm
mysql-community-client-8.0.22-1.el7.x86_64.rpm
mysql-community-server-8.0.22-1.el7.x86_64.rpm
安装过程:
shell> rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm
shell> rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm
shell> rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm
shell> rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm
也可以用一种简单的方式,自动处理各个包之间的依赖关系并自动下载缺少的依赖:
shell> yum install mysql-community-{server,client,common,libs}-*
注意:上面的yum install命令需要在tar解压之后的各个rpm包所在目录内执行,否则就变成yum方式安装了,需要配置MySQL的yum源并且速度很慢,还要当前机器支持外网访问
3.密码等相关设置
1.密码修改
Mysql安装之后会设置默认的密码,通过以下指令获得:
[root@localhost mysql]# sudo grep 'temporary password' /var/log/mysqld.log
2020-12-02T05:29:12.308459Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: QFl6TJm;-Pbx
后面的"QFl6TJm;-Pbx"就是默认登录密码,先登录进MySQL:
[root@localhost mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.22
这时候如果直接修改密码,会因为密码过于简单报错:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如果直接查看修改密码检验规则也会报错:
mysql> SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
可以先修改默认密码,将"QFl6TJm;-Pbx"修改一个字符变成"QFl6TJm;-Pbb",然后再查看密码检验规则:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'QFl6TJm;-PbB';
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 | 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)
将检验规则进行修改:
mysql> SET GLOBAL validate_password.length = 5;
Query OK, 0 rows affected (0.00 sec)
mysql>SET GLOBAL validate_password.policy = low;
再修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
2.允许root远程访问
从MySQL 8开始,不再使用该GRANT命令创建用户。改用CREATE USER,然后使用GRANT语句:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
3.设置编码为utf8
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.00 sec)
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8足够,为此还是设置成utf8编码:
mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
mysql> set character_set_database=utf8;
mysql> set character_set_results =utf8;
mysql> set character_set_server=utf8;
关于utf8与utf8mb4区别,可以参考这篇文章:MySQL中 utf8与utf8mb4的区别
4.设置开机启动
shell> systemctl enable mysqld
shell> systemctl daemon-reload
LinuxCentos7下安装Mysql8.x以及密码修改的更多相关文章
- centos6.10下安装mysql8.0.16root密码修改的坑
上图截取别人的自己懒得弄,检查自己的linux是否有安装就按上图做就行了 接下来是我的干货 mysql8.0安群策略对密码设置很严格规则:大小写加数字和特殊字符串 使用yum安装mysql 后 my. ...
- centos 7下安装mysql-8.0
本篇文章主要介绍在centos7 环境下安装mysql8.0并设置为开机自启. 安装步骤 1.配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/ ...
- windows下安装mysql8并修改密码
MySQL下载地址:http://dev.mysql.com/downloads/mysql/ Windows下安装MySQL 我下的是最新版的MySQL,解压后,目录如下: 1.进入dos的命令行, ...
- 安装mysql8.0.12以及修改密码和Navicat的连接
mysql8.0+与安装其他版本不同一.安装mysql8.0.121.到官网https://www.mysql.com/ 下载mysql-8.0.12-winx64.zip(不要.mis),直接解压 ...
- Windows10下安装MySQL8.0
1:首先去官网下载安装包 下载地址:https://dev.mysql.com/downloads/mysql/ 这是我下载版本 2:将解压文件解压到你安装的目录:E:\mysql-8.0.11-wi ...
- CentOS下安装MYSQL8.X并设置忽略大小写
安装 在官网上下载:mysql80-community-release-el7-2.noarch.rpm.安装方式与5.7基本相同.详细安装过程见:CentOS下安装mysql5.7和mysql8.x ...
- windows下安装mysql8.0压缩版
下面总结下安装过程: 首先解压下载好的压缩版本. 将解压后mysql的bin文件目录配置系统环境path变量中 使用cmd打开命令窗口,输入mysqld --initialize命令初始化 ...
- Linux-CentOS7下安装Oracle11g
简述: 本文操作环境采用CentOS7 Linux安装Oracle11g与Windows区别较大,在Linux下需要创建用户以及用户组来供Oracle使用 Windows可以直接图形化界面从第一步到最 ...
- 虚拟机下安装ubuntu后root密码设置
ctrl+alt+t:调出命令行. 问题描述: 在虚拟机下安装了ubuntu中要输入用户名,一般情况下大家都会输入一个自己的网名或绰号之类的,密码也在这时设置过了. 但是当安装成功之后,使用命令#su ...
随机推荐
- 使用xshell软件进行文件的上传和下载
1.选择xshell的文件里面的属性-->文件传输,把上传路径和下载路径设置好. 上传路径:介绍我们需要向Linux系统里面传东西. 下载路径:就是我们把Linux系统里面的大小拷贝出来. 2. ...
- python初学者-输入一个数判断奇偶性
num = int(input("请输入一个整数:")) if num%2 == 0: print("这个数是偶数",num) else: print(&quo ...
- Springboot程序启动慢及JVM上的随机数与熵池策略
问题描述 线上环境中很容易出现一个java应用启动非常耗时的情况,在日志中可以发现是session引起的随机数问题导致的 o.a.c.util.SessionIdGeneratorBase : Cre ...
- 3.mysql小表驱动大表的4种表连接算法
小表驱动大表 1.概念 驱动表的概念是指多表关联查询时,第一个被处理的表,使用此表的记录去关联其他表.驱动表的确定很关键,会直接影响多表连接的关联顺序,也决定了后续关联时的查询性能. 2.原则 驱动表 ...
- 实验3 C语言分支语句和循环语句编程应用(友好猜日期^_^)
实验任务一 #include <stdio.h> #include <math.h> int main(){ float a, b, c, x1, x2; float delt ...
- 创建txt文件,并且写入内容
使用fopen的w方式就可以创建一个新的txt文件,如果文件名存在该文件内容会消失. 1. fopen的函数原型:FILE * fopen(const char * path,const char * ...
- 记一次jedis并发使用问题JedisException: Could not return the resource to the pool
今天线上突然发现个奇怪的问题项目第一次启动的时候redis报错JedisException: Could not return the resource to the pool 直接访问接口的时候不报 ...
- 如何解决 ajax跨域被阻止 CORS 头缺少 'Access-Control-Allow-Origin'的问题?
已拦截跨源请求:同源策略禁止读取位于 http://192.168.1.72:8080/securityMonitor_TV/service/getTest 的远程资源. (原因:CORS 头缺少 ' ...
- [简单-剑指 Offer 53 - II. 0~n-1中缺失的数字]
[简单-剑指 Offer 53 - II. 0-n-1中缺失的数字] 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一 ...
- Elasticsearch节点下线(退役)and unassigned shards
一.节点退役当集群中个别节点出现故障预警等情况,需要进行退役工作,即让所有位于该退役节点上的分片的数据分配到其他节点上后,再将此节点关闭并从集群中移除. 1.ES提供了让某个节点上所有数据都移走的功能 ...

