mysql修改密码报错是
yum 安装mysql5.7 是 出现无法登陆问题以及mysql error You must reset your password using ALTER USER statement befor
原创 2017年01月06日 11:55:54

标签:
mysql /
mysql5.7

yum 安装 mysql 5.7 见 http://blog.csdn.net/davi_2016/article/details/54096341

yum 安装 mysql 5.7 时登陆出现以下问题

最终解决方法

一 打开配置文件

vim /etc/my.cnf

二 添加下面这段话

skip-grant-tables

三重启mysql

service mysqld restart

四 登陆mysql

mysql -u root -p 回车进入

五 进入mysql 使用 命令报错 如下

1.SET PASSWORD = PASSWORD('your new password');

出现报错:

mysql> set password = PASSWORD('123456');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个其实与validate_password_policy的值有关。

执行下面命令 修改 即可

mysql> set global validate_password_policy =0;
Query OK, 0 rows affected (0.04 sec)

mysql> set global validate_password_length = 6;
Query OK, 0 rows affected (0.00 sec)

然后重新 执行命令
mysql>SET PASSWORD = PASSWORD('your new password');

Query OK, 0 rows affected (0.00 sec)
2.ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER
3.flush privileges;
4.quit
5.重新登陆 就OK了

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

修改Master配置, Backup服务器的配置不变。
[java] view plain copy

vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 51
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.120
}
notify_master /home/keepshell/notify_master.sh
notify_backup /home/keepshell/notify_backup.sh
notify_fault /home/keepshell/notify_fault.sh
notify_stop /home/keepshell/notify_stop.sh
}

==========================================================================================================================================
grant replication 出现以下错误的原因及修改方法ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES

在搭建mysql主主复制的时候,创建一个新的具有replicaion权限的新用户,刚开始的操作如下:
mysql> GRANT REPLICATION SLAVE ON test.* TO ‘server01’@’%’ IDENTIFIED BY ‘server01’;
会提示错误:ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES

错误的原因是因为,replication权限是一个全局权限,不可以指定在某一个库上,所以,把创建用户语句更改为如下即可:

mysql> GRANT REPLICATION SLAVE ON . TO ‘server01’@’192.168.40.129’ IDENTIFIED BY ‘568888’;
Query OK, 0 rows affected (0.00 sec)

ok,一切正常,但是,为了安全起见,在创建新的用户的时候,最好指定登陆地址,不然别人拿着你的账号就要干坏事儿了,虽然这个账号只具备replication权限,但是也是具有危险性的。所以,最后的语句更改为:

mysql> GRANT REPLICATION SLAVE ON . TO ‘server01’@’192.168.40.129’ IDENTIFIED BY ‘568888’;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

================================================================================================================================================
如果出像这种什么PID找不到啥的。多半是二进制日志美开启,pid那个文件不能生成导致的,把二进制文件开启在生成就哦可了
MySQL server PID file could not be found! [FAILED]
Starting MySQL.... [ OK ]

===============================================================================================================================================
Mysqldum备份数据库技巧:mysqldump --all-databases -p -u root > E:/all_databases.sql

===================================================================================================================================================
在元马便已出现下面这种状况的时候
configure: error:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files.

看提示缺少了OpenSSL,所以可以用yum来装上,要学会看错误
yum -y install openssl-devel

====================================================================================================================================================
wsrep配置详细步骤
下载时最好下载对应最新的安装包,我下载的是5.6版本的

使用 (yum install -y 包名)命令进行安装 ,安装MySQL时可能会安装失败,不用担心,依次安装所有的

包,如果还是安装失败,等其他安装包安装好以后,重新安装一遍

2、Mysql首次启动
使用service mysql start --skip-grant-tables 开启mysql服务
通过这个模式开启数据库后进入数据库修改密码;可以直接mysql进去而不用密码。

进去之后首先要更新密码:update mysql.user set password=password('shengyang') where user='root';
然后quit退出,service mysql start 重启服务,之后用root账户登陆mysql -u root -p

进入后set password=password('shengyang');设置root账户的登陆密码

其次给远程用户授权
(1)、指定某一网段用户:grant all privileges on *.* to shengyang@'192.168.0.%' identified by'shengyang';
(2)、授权无端口限制的登陆mysql数据库
grant all privileges on *.* to shengyang@'%' identified by'shengyang' with grant option;

3、关闭防火墙 setenforce 0 或者vim /etc/sysconfig/selinux

也可以设置mysql开机自启动:chkconfig mysql on

4、Mysql配额之文件设置
拷贝 cp /usr/share/doc/mysql-wsrep-server/wsrep.cnf /etc/my.cnf.d/
编辑/etc/my.cnf
在最后那厄里增加一行
!includedir /etc/my.cnf.d/

5、修改wsrep.cnf
a、Mysql服务器的ID,必须是唯一的
Server-id=101

b、galera集群的名字,必须是统一的
wsrep_cluster_name='shengyang'

c、wsrep提供着,必须配置
wsrep-provider=/usr/lib64/galera-3/libgalera_smm.so (.so文件的路径在哪,就配置成哪)

d、wsrep节点的ID,必须是唯一的
wsrep_node_name = node1

e、集群中的其他节点地址,可以使用主机名或IP

wsrep_cluster_address=gcomm://192.168.168.232:4567,192.168.168.72:4567,

f、本机节点地址,可以使用主机名或IP

wsrep_node_address='192.168.168.102:4567'

g、指定wsrep启动端口号

wsrep_node_incoming_address='192.168.168.102:4567'

f、一个逗号分割的节点串作为状态转移源,比如wsrep_sst_donor=node5,node3,如果node5可用,用node5,不可

g、用node3,如果node3不可用,最后的逗号表明让提供商自己选择一个最优的。

wsrep_sst_donor='node1,node2,node3,'

h、线程数量。参考设置:1.CPU内核数*2以上;2.其它写节点连接总数的1/4.

wsrep_slave_threads=16

i、xtrabackup使用的用户名密码(最好能和mysql数据库的用户名密码一致)

wsrep_sst_auth=root:123456

其余配置暂不用修改,有需要配置的,最好了解清楚以后修改.

5.mysql 集群启动

0节点启动方式一定是空地址启动,不用指向其他节点:

Service mysql start --wsrep-cluster-address=”gcomm://”

其余节点直接修改好配置使用service mysql start启动就可以了

其余节点配置方式主要是修改wsrep_cluster_address=”gcomm://192.168.168.112 ”

配置方式遵循,1节点指向0节点地址,2节点指向1节点地址,依次类推.

如果节点断开,启动之前先执行:mysqld_safe --wsrep-recover

会出现"Revovered position …… :38719(比较这个数字,选择最大值的 那个数据库服务器作为0节点启动,个人觉得应该就是数据库最多的那个作为0节点启动)"

6.相关注意事项:

galera集群是主主集群配置,数据会同时写入

建议集群最少配置3个节点,也就是3台服务器,避免出现"脑裂",断开其中一个,剩下两台还可以继续使用

严禁在集群断开的时候,在单台数据库上进行添加数据的操作,后期想重新连接起来会比较麻烦

集群配置好了以后使用命令: mysql> show status like ''wsrep%";

查看配置的情况:

wsrep_cluster_size 后面的值为多少就表示目前集群有多少个节点.

Mysql一些记忆的更多相关文章

  1. Mysql 细节记忆

    DELIMITER $$ 和 DELIMITER ; DROP PROCEDURE IF EXISTS `pro_follow_getBookBeforeExpired`$$ DECLARE p_Se ...

  2. MySQL数据分析-(1) 数据库前言

    (一)开场白 大家好,欢迎大家跟我一起学习<MySQL数据分析实战>这门课程,对于数据分析师来说,数据库是每一个从业者都必须掌握的课程,我们这门课是从实战的角度出发,我会帮助大家梳理MyS ...

  3. mysql 5.7中的用户权限分配相关解读!

    这篇文章主要介绍了MySQL中基本的用户和权限管理方法,包括各个权限所能操作的事务以及操作权限的一些常用命令语句,是MySQL入门学习中的基础知识,需要的朋友可以参考下 一.简介 各大帖子及文章都会讲 ...

  4. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  5. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  6. PHP中的数据库一、MySQL优化策略综述

    前些天看到一篇文章说到PHP的瓶颈很多情况下不在PHP自身,而在于数据库.我们都知道,PHP开发中,数据的增删改查是核心.为了提升PHP的运行效率,程序员不光需要写出逻辑清晰,效率很高的代码,还要能对 ...

  7. mysql函数大全

    对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql& ...

  8. Linux 操作mysql数据库 创建库 导入、删除表

    确保线上的运行数据库是不可避免的本人小白,因公司上线没有办法自己去整服务器,深刻体会到服务器大神的霸气,所以为了增加记忆,服务广大员友记录一下 linux mysql 忘记root的密码无法登陆进my ...

  9. 6_PHP AJAX MYSQL

    XAMPP套装软件: 包含Apache.MySQL.PHP等多个开源软件的集合. https://www.apachefriends.org/zh_cn/index.html 监听完整相应消息: Wi ...

随机推荐

  1. Flask请求处理流程(request)[待续]

    WSGI简介 WSGI(全称Web Server Gateway Interface),是为 Python 语言定义的Web服务器和Web应用程序之间的一种简单而通用的接口,它封装了接受HTTP请求. ...

  2. android onSaveInstanceState()及其配对方法。

    转自:http://blog.chinaunix.net/uid-22985736-id-2977672.html onSaveInstanceState() 和 onRestoreInstanceS ...

  3. TraceView 使用详解 android eclipse

    先看命令 (配置好环境变量的情况下,直接traceview+空格+ trace文件路径即可): TraceView是什么 Traceview是android平台配备一个很好的性能分析的工具.它可以通过 ...

  4. ghost系统下,C#获取时间带星期几的解决办法

    cmd   regedit打开注册表,进入到[HKEY_USERS\.DEFAULT\Control Panel\International]  ,然后1.将键 sDate 的值由 / 改为 - 2. ...

  5. bzoj4419 发微博

    Description 刚开通的SH微博共有n个用户(1..n标号),在短短一个月的时间内,用户们活动频繁,共有m条按时间顺序的记录: ! x   表示用户x发了一条微博: + x y 表示用户x和用 ...

  6. web项目除了业务还需要关注的点

    1:安全性,不允许访问外网,访问外网通过反向代理的方式. 2:安全性,和外网交互的时候,需要CA证书,基于SSL协议的证书 3:日志,生产上通常会关闭某些日志,所以,允许出现的日志就显得至关重要了. ...

  7. 补充 3:Golang 一些特性

    1 丰富的内置类型 2 函数多返回值 3 Go的错误处理 :   Go语言引入了3个关键字用于标准的错误处理流程,这3个关键字分别为defer. panic和 recover 4 在Go语言中,所有的 ...

  8. 如何判断自己的浏览器支持的是javascript的那个版本

    <script language="javascript"> var jsversion = 1.0; </script> <script langu ...

  9. tensorflow入门资料

    google出的说明文档 tensorflow_manual_cn.pdf google出的视频 https://www.zhihu.com/question/41667903/answer/1306 ...

  10. 初学 python 之 用户登录实现过程

    要求编写登录接口 : 1. 输入用户名和密码 2.认证成功后显示欢迎信息 3.用户名输错,提示用户不存在,重新输入(5次错误,提示尝试次数过多,退出程序) 4.用户名正确,密码错误,提示密码错误,重新 ...