MySQL5.7重置root密码

本人由于root密码设置太复杂,距离买云服务器过去好长时间,记不起来了,只好重置密码。

编辑配置文件/etc/my.cnf,在 [mysqld] 段加入一行:skip-grant-tables

如下:

[mysqld]
skip-grant-tables
skip-ssl
port = 3306
......

执行重启指令:service mysqld restart

[root@centos ~]# service mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL... SUCCESS! 

重启成功后,即可免密码登录root用户:mysql -u root

[root@centos ~]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

登录成功后,执行SQL更改root密码(假设为123456):

UPDATE mysql.user SET authentication_string = PASSWORD('123456') WHERE User = 'root';

mysql> UPDATE mysql.user SET authentication_string = PASSWORD('123456') WHERE User = 'root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> 

注意上面的SQL语句,在5.7版本后,原来的密码字段名称Password改成了authentication_string。

退出mysql控制台,把添加到/etc/my.cnf配置文件的 skip-grant-tables 这行删除,再重启服务:service mysqld restart。之后,我们就可以使用新密码登录了。

[root@centos ~]# service mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL.. SUCCESS! 
[root@centos ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

分类至 MySQL
1条评论

CentOS mail配置163邮箱

0、本文演示环境:本文实际操作的系统是 CentOS 7.6,为腾讯云服务器。
1、获取163邮箱授权码:为了安全,我们不应直接使用原始密码登录第三方客户端,因此有了授权码这个东西。授权码是用于登录第三方邮件客户端的专用密码。登录163邮箱后,进入设置--客户端授权密码--设置客户端授权码,开启并设置授权码(且要开通SMTP服务)
2、在Linux系统上安装mailx服务:在命令行直接输入mail指令,如果提示找不到该指令,则表示你还没有安装该服务,请使用yum安装该服务。
3、添加163邮箱的smtp配置:在系统文件 /etc/mail.rc 末尾追加下面内容(按实际情况修改成你的账号和授权码)
4、下载163邮箱的证书:上述配置开启了SSL安全连接,因此我们还需要手动获取163邮箱的SSL证书保存到本地 /root/.certs 目录,以备调用和验证。

分类至 Linux
0条评论

PHP命令行模式下的多进程脚本

我们可以利用PHP的PCNTL模块,写多进程脚本,我整理了一个模板。当前,这个模块不支持Windows系统,需要Linux系统才支持(即非Unix类系统不支持此模块)。还有就是,在编译PHP的时候要加上 --enable-pcntl 选项它才会被编译。在Webserver环境下(如Apache、Nginx等),运行此模块会有不可预料的结果,因此,你只能在命令行模式下执行。

分类至 PHP
0条评论

crontab定时任务精确到秒执行的方法

默认的,crontab只支持精确到某一分钟。假设有如下定时任务,每分钟执行。现在业务量激增,1分钟才推送一次,已无法满足需求,需要把时间缩短,如每隔30秒,则可以改成如下。利用了sleep休眠指令,延迟30秒才执行指定的脚本。由于crontab的特性,每个定时任务之间不会相互干扰、阻塞,所以,上面这两个任务组合起来,就变成了每隔30秒执行。

分类至 Linux
0条评论

禁止iPhone横屏时页面字体自动放大

也是在写博客程序的时候,用iPhone真机预览前端页面效果,发现横屏时,页面上某些标签的字体比竖屏时明显大好多,布局都有点乱了。

思考了一下,不对啊,我字体设置的是em单位,放大的话,应该所有元素都是等比例放大,偏偏正文特别大(p标签)。

不懂就要问,去搜索引擎上找答案。

最终在CSS里添加代码,问题得以解决:

html {
    -webkit-text-size-adjust: 100%;
}

iPhone和Android的浏览器纵向和橫向模式皆有自动调整字体大小的功能,用CSS属性-webkit-text-size-adjust可以控制。

分类至 JS/CSS
2条评论

移动端H5页面屏蔽双击放大的功能

我写这套博客程序的时候,在iPhone手机safari上预览,快速双击页面任意位置,页面会被放大。被放大的程度,是刚好抵消主div框架设置的左右两边的margin。而我,不想要这样的功能!

在网上搜索,iPhone禁止页面双击放大,得到的答案大多是设置meta标签viewport:

<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />

早几年前,上面这行代码还挺好用。而现在,随着iOS系统的更新升级,此方法已经不管用了。

继续在网上搜索,找到了新的解决方案,是用JS屏蔽touch事件,代码如下(本站JS文件就包含此代码):

var lastTouchEnd = 0;
document.documentElement.addEventListener('touchend', function (event) {
    var now = Date.now();
    if (now - lastTouchEnd <= 300) {
        event.preventDefault();
    }
    lastTouchEnd = now;
}, false);

原理是,判断两次touch事件的时间间隔,如果间隔在300毫秒以内,则阻止第二个touch事件。

这段JS代码来源参考:https://www.cnblogs.com/xielisen/p/9488532.html

touch间隔300毫秒的扩展阅读:https://www.jianshu.com/p/6e2b68a93c88

 

分类至 JS/CSS
0条评论