zoukankan      html  css  js  c++  java
  • Mysql一些记忆

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

  • 相关阅读:
    进程与线程的区别
    开启线程的两种方式
    线程
    生产者消费者模型(重要)
    队列
    互斥锁
    守护进程(了解)
    Process对象的其它方法与属性(join)
    僵尸进程与孤儿进程
    Servlet
  • 原文地址:https://www.cnblogs.com/xingyunfashi/p/7888857.html
Copyright © 2011-2022 走看看