首页 > 数据库 >Linux(2)系统基本操作-Mysql数据库原生安装_Mysql常用命令_安装和使用过程常用问题

Linux(2)系统基本操作-Mysql数据库原生安装_Mysql常用命令_安装和使用过程常用问题

时间:2024-03-26 12:58:51浏览次数:28  
标签:utf8 Mysql root user mysql 基本操作 password 安装 localhost

二、Linux系统基本操作

1、查询centos版本

[root@host-10-150-223-171 ~]# uname -a
Linux host-10-150-223-171 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@host-10-150-223-171 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

解释:这个命令会输出 CentOS 系统的版本号和其他相关信息。

  • 使用cat /etc/redhat-release命令。
    指令代码:cat /etc/redhat-release
    操作结果:例如显示“CentOS Linux release 7.9.2009 (Core)”,这表示CentOS的版本是7.9.2009。
  • 使用lsb_release -a命令。
    指令代码:lsb_release -a
    操作结果:显示CentOS的详细描述,包括发行版号和名称等。
  • 使用rpm -q centos-release命令。
    指令代码:rpm -q centos-release
    操作结果:显示centos-release包的具体版本号,从而推断出CentOS的版本。

2、图形界面和命令行切换

2.1 命令行->图形界面

命令行输入:init 5 回车即可进入图形界面模式

2.2 图形界面->命令行

终端输入:init 3 回车即可进入命令行模式

三、Mysql数据库

1、mysql 原生安装

1.1 mysql 安装

(1) 下载mysql rpm包

cd /usr/local/src

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

在这里插入图片描述

(2) 安装下载的rpm包

yum localinstall mysql80-community-release-el7-3.noarch.rpm

sudo rpm -Uvh mysql80-community-release-el6-n.noarch.rpm

在这里插入图片描述

在这里插入图片描述

(3)查看yum存储库中的mysql版本

默认最新的enabled,需要改成需要的版本

yum repolist all | grepmysql

在这里插入图片描述

(4) 修改为需要的版本,机禁用yum存储库中mysql不需要的版本和开启需要的版本

yum-config-manager --disable mysql80-community

yum-config-manager --enable mysql57-community

手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择,把默认版本的enabled=1改为0,需要版本的enabled=1

(5) 安装mysql

[root@localhostsrc]# yum install mysql-community-server.x86_64

(6)mysql第一次启动自动生成临时密码

5.7版本mysql第一次启动自动生成临时密码,可通过查看日志找到

grep ‘temporary password’ /var/log/mysqld.log

操作如下:

如果这个文件为空:
1.删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)
rm -rf /var/lib/mysql
2.重启mysqld服务
systemctl restart mysqld
3.再去找临时密码
grep ‘temporary password’ /var/log/mysqld.log

实际操作:Systemctl restart mysqld

[root@localhost ~]# systemctl restart mysqld

[root@localhost ~]# grep ‘temporary password’ /var/log/mysqld.log

2020-10-02T04:00:45.048107Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wnygpa?nK5/kn

在这里插入图片描述

(7)登陆

这个时候执行

[root@localhostsrc]# mysql -u root –p

输入上面的临时密码,可以登录,但是查询时候提示reset密码

在这里插入图片描述

设置的密码不符合安全策略

mysql> alter user ‘root’@‘localhost’ identified by ‘eifire@119’;

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

在这里插入图片描述

修改复杂点Ei@@@1995@,ok成功

mysql> alter user ‘root’@‘localhost’ identified by ‘Ei@@@1995@’;

在这里插入图片描述

然后mysql> flush privileges;

在这里插入图片描述

(8)修改密码策略,完成密码修改登陆

如果想要查看MySQL完整的初始密码规则,登陆后执行以下命令

mysql> show variables like ‘validate_password%’;

在这里插入图片描述

密码的长度是由validate_password_length决定的,但是可以通过以下命令修改

set global validate_password_length=4;

validate_password_policy决定密码的验证策略,默认等级为MEDIUM(中等),可通过以下命令修改为LOW(低)

set global validate_password_policy=0;

原因是因为密码设置的过于简单会报错,MySQL有密码设置的规范,validate_password_policy的值有关,如图所示:

在这里插入图片描述

修改完成后密码就可以设置的很简单,比如1234之类的。

开始操作:

mysql> set global validata_password.policy=0;

在这里插入图片描述

mysql> alter user ‘root’@‘localhost’ identified by ‘eifire@119’;

mysql> flush privileges;

在这里插入图片描述

1.2 完美卸载

// rpm包安装方式卸载

查包名:rpm -qa|grep -i mysql

删除命令:rpm -e –nodeps 包名

(1)查看已安装的mysql

命令:rpm -qa | grep -i mysql

(2)卸载mysql

命令:yum remove mysql-community-server-5.6.36-2.el7.x86_64

查看mysql的其它依赖:rpm -qa | grep -i mysql

(3)卸载依赖

yum remove mysql-libs

yum remove mysql-server

yum remove perl-DBD-MySQL

1.3 mysql常用命令
1.3.1 重启mysql

service mysqld restart

[root@host-10-150-223-73 mysql]# service mysql restart
Shutting down MySQL… SUCCESS!
Starting MySQL. SUCCESS!

==========================================================================

1.3.2 查询mysql运行状态

指令一:ps -aux|grep mysql

指令二:ps -ef|grep mysql

执行结果中看到了mysql进程,确定mysql正在运行与否。

(a)mysql未启动起来

在这里插入图片描述

备注: 3306未启动起来时候,通过telnet测试端口服务。

在这里插入图片描述

**解决:**重启mysql服务

(b)mysql服务运行起来了

在这里插入图片描述

==========================================================================

1.3.3 whereis mysql

[root@localhost src]# whereis mysql

在这里插入图片描述

==========================================================================

1.3.4 查询端口服务3306

https://www.cnblogs.com/hindy/p/7249234.html

[root@localhost ~]# netstat -anp |grep 3306

在这里插入图片描述

==========================================================================

1.4 mysql安装遇到问题
1.4.1 2003错误,mysql连接

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

【解决】:

那么我们就有两种方法去解决了

  1. 关闭防火墙

  2. 设置防火墙开放端口

第一种方法:

//停止

systemctl stop firewalld.service

//禁止开机启动

systemctl disable firewalld.service

第二种方法:

//这里发现防火墙是开启的,再来查看防火墙控制的端口

systemctl status firewalld

//查看防火墙控制的端口,发现我想要监听的8081端口没有开启

firewall-cmd --list-all

//永久开启3306端口

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent

//重载防火墙

sudo firewall-cmd --reload

在这里插入图片描述

==========================================================================

1.4.2 1130错误,关闭防火墙后出现t

执行:

[root@localhost ~]# systemctl stop firewalld.service

在这里插入图片描述

在这里插入图片描述

【问题分析】:

​ 在用Navicat配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。为了安全性, 默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。

【解决】:

不支持远程登录,需要修改用户表的数据

实际操作:

mysql -u root -p

mysql>use mysql;

mysql>select ‘host’ from user where user=‘root’;

mysql>update user set host = ‘%’ where user =‘root’;

mysql>flush privileges;

mysql>select ‘host’ from user where user=‘root’;

第一句是以权限用户root登录

第二句:选择mysql库

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

第五句:刷新MySQL的系统权限相关表

第六句:再重新查看user表时,有修改。。

记得Mysql服务需要重新启动(确保修改有效),否则可能修改的结果无法体现。

==========================================================================

1.4.3 2058错误,关Navicat解决了,但是SQLyog出现错误

在这里插入图片描述

【原因分析】:

新的MySQL 8.0安装,在初始化数据目录时,将‘root’@'localhost’创建帐户,并且该帐户caching_sha2_password默认使用,密码的加密方法发生了改变,因此SQLyog不能正常解析,才报出如上错误。

【解决方案】:https://www.jb51.net/article/171721.htm

第一步:使用命令行(win+R --> cmd)登录mysql,需要输入密码;若出现如下界面,登录成功

在这里插入图片描述

第二步:输入 use mysql;(分号不要忘记)

第三步:输入 select user,host from user; 出现如下界面。

在这里插入图片描述

第四步:从图可以看到root 对应的是localhost,接下来输入ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’; (这个root是你要改的密码,可以写其他的).

出现Query OK就可以了,之后在去sqlyog连接就能连接成功了。(如果你root对应的是%,那 ‘root’@‘localhost’ 改成 ‘root’@‘%’)
在这里插入图片描述

==========================================================================

1.4.4 1045错误,Access denied for user ‘root’@‘localhost’ (using password: YES) 拒绝访问

在这里插入图片描述

【解决】:

之前是:只读权限,且输入可能有问题,在下面图例(错误)。

之后:改成下面这个可以

mysql> grant all privileges on *.* to 'test002'@'%' identified by 'test002@2022jtj' with gran
t option;
1.5 mysql数据库使用
1.5.1 新建数据库-字符集-排序规则

mysql在新建数据库时(Navicat)界面时会遇到两个典型选项:

在这里插入图片描述

在这里插入图片描述

(1)字符集

一般选择utf8.

utf8与utfmb4的区别:

utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,一般和项目需求有关,可以查看unicode编码区,从1 ~ 126就属于传统utf8区。

当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什么时候你需要存储那些字符,你才用utf8mb4,否则只是浪费空间。

(2)排序说明

排序一般分为两种:utf_bin和utf_general_ci

bin 是二进制, a 和 A 会别区别对待.

例如你运行:

SELECT * FROM table WHERE txt = ‘a’

那么在utf8_bin中你就找不到 txt = ‘A’ 的那一行, 而 utf8_general_ci 则可以找到.

utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。

utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果

utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容

utf8_uicode_ci和utf8_general_ci对中、英文来说没有实质的差别。

utf8_general_ci校对速度快,但准确度稍差。(准确度够用,一般建库选择这个)

utf8_unicode_ci准确度高,但校对速度稍慢。

(3)

  • 基于mysql8.0新建对的,然后字符集和排序规则都不设置,新建后,你会发现mysql默认设置为如下值:

字符集 :utf8mb4

排序规则:utf8mb4_0900_ai_ci

以utf8为例,它最多支持 3 个字节,当你存4字节的 utf8 编码字符时,会入库失败(常见的如:emoji ),在2010年重新发布了 utf8mb4 支持utf8。

  • mysql 数据库默认字符集

​ show variables like ‘character_set_database’;

  • mysql server(服务端)默认字符集

​ show variables like ‘character_set_server’

标签:utf8,Mysql,root,user,mysql,基本操作,password,安装,localhost
From: https://blog.csdn.net/donghuandong/article/details/137042578

相关文章

  • 修改chrome默认安装位置
    下载安装好后不要登陆直接x掉,ctrl+enter+esc关掉chrome进程右键chrome-快捷方式->打开文件位置将【Google】文件夹剪切到D:\Programs\Google然后管理员身份运行cmdmklink/d"C:\ProgramFiles\Google""D:\Programs\Google"......
  • VsCode安装,配置,快捷键及常用开发插件的安装与介绍
    目录一.安装包下载方式一.官网下载方式二.网盘下载二.安装三.VSCode插件安装1.中文语言包2.拼写检察器3.HTML自动补全4.JavaScript-ES6语法提示5.补全前端代码6.路径提示7.Vue3/Vue2开发必用8.自动闭合HTML/XML标签9.标签同步修改10.格式化html,css,js11.区分括号12.快速打开html1......
  • java计算机毕业设计(附源码)新知书店(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:新知书店,作为一家专注于传播知识和文化的零售场所,承载着促进社会文化发展和满足人们精神需求的重要使命。在数字化时代背景下,实体书店面临着前所未有的挑......
  • Mysql SQL优化
    ​​Mysql查询执行的过程链接一、索引的代价我们虽然可以根据我们的喜好在不同的列上建立索引,但是建立索引是有代价的,所以不要建太多的索引:【1】空间上的代价:每建立一个索引都要为它建立一棵B+树,每一棵B+树的每一个节点都是一个数据页,一个页默认会占用16KB的存储空间,一......
  • linux下的mysql的安装方式--yum--二进制
    linux下的mysql的安装方式--yum--二进制1.yum安装yum方式wgethttp://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpmrpm-ivhmysql-community-release-el7-5.noarch.rpmyum-yinstallmysql-community-serversystemctlstartmysqlsystemctlstatusm......
  • python多版本安装和导库
    多python版本的pip安装python的库,以及导出python库列表及版本1、同时安装python2和python3时,要进行pip安装python的库:当需要python2的pip时,输入以下命令:py-2-mpipinstallxxx当需要python3的pip时,输入以下命令:py-3-mpipinstallxxx 2、同时安装python2和pytho......
  • 【linux】Centos7 手动编译安装 cmake-3.28.4
    简介1、移除原来的cmake版本yumremovecmake-y2、下载cmake-3.28.4.tar.gz安装包并解压wgethttps://cmake.org/files/v31、移除老版本cmake版本并安装依赖包yumremovecmake-y;yuminstall-ygccgcc-c++makeautomakeopensslopenssl-devel2、下载cmake-3.7.2.tar.gz......
  • 数据库的四个特性?MySQL是如何实现的?
    首先MySQL中,数据库的四个特性分为:原子性一致性隔离性持久性也就是我们常说的ACID。那么这四个特性数据库是如何实现的呢?持久性--->redolog:redolog(重做日志):redolog本身是一种日志,记录的是事务提交时对数据页(MySQL在硬盘中存储数据文件的最小单位,由数据行组成)的......
  • Centos 7.8 安装Oracle 19.3指南
    原文出处:https://zhuanlan.zhihu.com/p/670286778?安装环境java-versionopenjdkversion"1.8.0_242"OpenJDKRuntimeEnvironment(build1.8.0_242-b08)OpenJDK64-BitServerVM(build25.242-b08,mixedmode)cat/etc/centos-releaseCentOSLinuxrelease......
  • conda 安装 (Rocky9 和 Ubuntu20.04)
    Conda官方网址:https://www.anaconda.com/Rocky9环境dnfupdate-ydnfinstallvimwgetlsofgccgcc-c++tarbzip2firewalldopenssl-develmlocatemakechronydocker-ybashAnaconda3-2024.02-1-Linux-x86_64.sh-p/opt/anaconda3vim/etc/profile文件末添加下面一行......