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 后面的值为多少就表示目前集群有多少个节点.