记录 mysql 使用时遇到的问题
1,linux平台上mysqld和mysql的区别。
首先,mysql数据库是标准的c/s架构,yum安装时注意到了,有mysql和mysql-server包
mysql是客户端的工具,mysqld 是服务端的进程。
需要先启动mysqld进程,才能是使用mysql命令登录。
mysql包是一个命令行的工具,一般就用于登录mysql服务端,并进行之后操作。
常用mysql命令行工具还有以下几个。
mysql 、 mysqladmin 、 mysqlbinlog 、 mysqldump 、 mysqlimport/source
、 mysqlshow 、 myisampack 、 mysqlcheck
2,mysqld 启动报错提示
[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
此处 mysql是出于安全考虑,默认拒绝用root账号启动mysql服务。
解决方法:
(1)通过在命令后面加上--user=root 进行强制使用root账号启动。这样是最快的。
mysqld --user=root
(2)使用一个普通用户进行启动mysqld 。这个用户必须是属于mysqld用户组,且在my.cnf文件中。
在配置文件中加上user=mysql 进行指定mysql用户来启动mysql服务。这样是最好的。再次启动mysql.
3,mysql登录时遇到 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这个需要重置mysql的root 用户密码
mysql 8 以上的修改语句如下。
ALTER user '需要修改密码的用户名'@'localhost' IDENTIFIED BY '重置的密码'
4,Mysql 5.7后初始密码不为空,为了安全,会有一个随机密码生成。
使用时需要初始化数据库。
命令在此:mysqld --initialize-insecure --user=mysql
文档表明,使用-initialize生成随机密码,使用-initialize-insecure生成空密码。
默认帐号root,后面的-user=mysql不更改
用 grep “temporary password” /var/log/mysql.log 搜索自动生成的密码。
5,MySQL启动和关闭命令总结。
----启动MySQL
mysqld --defaults-file=/etc/my.cnf &
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
service mysql start
/etc/init.d/mysql start
mysqld_multi start #多实例
net start mysql #Windows
----关闭MySQL
mysqladmin -uroot -plhr -S /tmp/mysql3306.sock shutdown
service mysql stop
/etc/init.d/mysql stop
mysqld_multi stop #多实例
net stop mysql #Windows
--杀死mysql
killall mysqld
killall -9 mysqld
6,Navicat 连接MySQL 8.0.11 出现2059错误
原因:mysql 8 之前的版本中加密规则是mysql_native_password,
而在mysql8之后,加密规则是caching_sha2_password
解决:更改加密规则
mysql -u root -p #登录
use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'
ALTER USER 'root用户'@'localhost' IDENTIFIED BY '当前密码' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root用户'@'localhost' IDENTIFIED WITH mysql_native_password BY '当前密码'; #更新用户密码
FLUSH PRIVILEGES; #刷新权限
7,使用yum安装mysql时注意。
yum install mysql 这个只是安装了客户端
yum install mysql-server 这才是服务端
此外,还需要安装 mysql-devel 包
如果Centos7的yum源找不到mysql-server这个包的话,就会报错,可以去mysql的源地址下载安装
原因:CentOS7自带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库
解决方案:如果必须要安装MySQL,首先必须添加mysql社区repo通过输入
命令: rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
8,mysql的8版本以上就没有查询缓存的功能了。这个需要注意。
9,mysql 重置root密码。
- 编辑配置文件 /etc/my.cnf ,在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证
- 接下来我们需要重启MySQL,使用service mysqld restart
- 进入mysql中重置密码,
```
mysql> update user set password="你的新密码" where user="root" and host="localhost";
mysql> flush privileges;
mysql> quit
```
- 退出,注释掉配置文件新增的那行,重启。再登录。
10,mysql 的用户管理。
使用root登录后,在mysql.user 表里,可以select host,user,password 等信息。
也是在这里配置远程登录主机。host='%'表示任意主机远程登录。
修改mysql的用户密码,分别使用grant、alter、set修改
①mysql> grant all on *.* to '用户名'@'登录主机' identified by '密码';
②mysql> alter user '用户名'@'登录主机' identified by '密码(自定义)';
③mysql> SET PASSWORD FOR '用户名'@'登录主机' = PASSWORD('密码');
#使用这种方式设置后,有时候密码没有被加密。
tips:
密码必须是被加密的,客户端才能正常登录。
一般使用update语句修改的密码都没有加密,所以登录会有问题。
mysql5.7以上的版本里,password字段都替换成了authentication_string
在虚拟机v2上mysql5.7上可以设置不符合要求的简单的密码,首先跳过了登录验证,
然后进去修改root的密码,再没有说密码不符合要求的报错提示了
记录 mysql 使用时遇到的问题的更多相关文章
- MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”
MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5. ...
- [开发笔记]-sqlite数据库在使用时遇到的奇葩问题记录
有时候做些简单的项目一般都会选择sqlite数据库,优点有很多,这里就不详细说了. 在此主要记录一些平时在使用时遇到的问题及解决方法.希望能对大家有所帮助. --------------------- ...
- 本机mysql 5.7服务启动后停止,某些服务在未有其他应用程序使用时停止
本机mysql 5.7服务启动后停止,某些服务在未有其他应用程序使用时停止 出现这种报错,mysql服务启动不了: 错误的尝试: 1:尝试了这个博客:https://blog.csdn.net/wai ...
- 本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动
重新安装MySQL数据库,由于安装的时候马虎,一路next(事实上,某些地方需要严格的配置,我忘记注意了),导致现在出了很多麻烦. 错误信息: 本地计算机上的MySQL服务启动后停止.某些服务在未由其 ...
- MySQL服务启动:某些服务在未由其他服务或程序使用时将自动停止
这几天因为工作需求,需要把MySQL请出来,所以将尘封已久的MySQL进行启动.可是事与愿违,兴许是许久没有访问MySQL了,MySQL生气的不理我,并向外抛出一阵阵报错.1.其中一个是:Window ...
- MySQL数据库使用时注意事项
MySQL数据库使用时注意事项 建表的角度上 1.合理安排表关系 2.尽量把固定长度的字段放在前面 3.尽量使用char 代替varchar 4.分表:水平分和垂直分 在使用sql语句的时候 1.尽量 ...
- mysql57重新安装后无法再次启动mysql57服务“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动。”--解决方法
本地计算机上的MySQL服务启动后停止.某些服务在未由其他服务或程序使用时将自动. (win10,mysql5.7+) 解决方法: 第一步:查看MySQL57安装路径 只要在programData路径 ...
- 新版MySQL开始使用时遇到的问题(时区、权限):
新版MySQL(本人Server version: 8.0.15)在刚开始使用时遇到的问题: 查看mysql安装版本:命令窗口 时区问题解决(The server time zone value 'Ö ...
- SSH hibernate 使用时最好添加访问数据库的编码
SSH hibernate 使用时最好添加访问数据库的编码 如下所示:第13行为设置hibernate访问数据库的编码(&是&的转义序列) <!DOCTYPE hibernate ...
随机推荐
- PHP中的文件系统函数(一)
从这篇文章开始,我们将学习一系列的 PHP 文件系统相关函数.其实这些函数中,有很多都是我们经常用到的,大家并不需要刻意地去记住它们,只要知道有这么个东西,在使用的时候记得来查文档就可以了. 文件路径 ...
- 记一次 .NET 某上市工业智造 CPU+内存+挂死 三高分析
一:背景 1. 讲故事 上个月有位朋友加wx告知他的程序有挂死现象,询问如何进一步分析,截图如下: 看这位朋友还是有一定的分析基础,可能玩的少,缺乏一定的分析经验,当我简单分析之后,我发现这个dump ...
- Docker系列(28)- 自定义网络
自定义网络 网络模式 bridge:桥接docker(默认,自己创建也可以使用bridge模式) none:不配置网络 host:和宿主机共享网络 container:容器网络联通!(用的少!局限性大 ...
- 使用uView UI+UniApp开发微信小程序--微信授权绑定和一键登录系统
在前面随笔<使用uView UI+UniApp开发微信小程序>和<使用uView UI+UniApp开发微信小程序--判断用户是否登录并跳转>介绍了微信小程序的常规登录处理和验 ...
- 《Android自动化环境搭建》
一.安装JDK并配置环境变量 1:在Java官网上下载本机系统相对应的jdk文件安装,直接下一步一步到位 2:配置JAVA_HOME 新建 JAVA_HOME 环境变量,变量值是所安装JDK 的路径, ...
- 【Azure Developer】Azure Automation 自动化账号生成的时候怎么生成连接 与证书 (Connection & Certificate)
Azure Automation :The Azure Automation service provides a highly reliable and scalable workflow exec ...
- NOIP 模拟 六十八
咕了十几场了,还是写一写吧.. T1 玩水 发现满足三个人路径不同必须要有2个及以上的斜线相同结构,需要注意如果同一行或者同一列的话必须要相邻才行. #include<bits/stdc++.h ...
- mysql8 主从搭建
主:192.168.10.2 从:192.168.10.3 主:1.登录mysql,授权账号,让从数据库可以进行复制. mysql CREATE USER 'repl'@'192.168.10.3' ...
- IDEA Web渲染插件开发(二)— 自定义JsDialog
<IDEA Web渲染插件开发(一)>中,我们了解到了如何编写一款用于显示网页的插件,所需要的核心知识点就是IDEA插件开发和JCEF,在本文中,我们将继续插件的开发,为该插件的JS Di ...
- openssl 生成证书上 grpc 报 legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0
最近用传统的方式 生成的证书上用golang 1.15. 版本 报 grpc 上面 ➜ ~ go version go version go1.15.3 darwin/amd64 上面调用的时候报错了 ...