ubuntu phpmyadmin root 登录提示#1698 - Access denied for user 'root'@'localhost'

上次装好mysql,phpmyadmin,登录后由于默认设置的账号密码登录是看不到本地mysql的数据库,而且是无法创建数据库的,那么这就很尴尬了,看了网上其他说法,有的说修改config.inc.php,有的说修改mysql的配置文件,但似乎都并不适合我的这个错误,后来查阅了相关资料后,才发现MySQL 5.7改变了安全模式:现在MySQL root登录需要一个sudo(而密码仍然可以是空白的)。就是说,phpMyAdmin将无法使用根凭证。

那么怎么办呢?最简单(最安全)的解决方案将创建一个新用户并授予所需的权限。

frp 利用Nginx實現https

 

利用frp可以很容易的實現http和https的內網穿透。現在信息安全比較重要,所以https已經比較普及了。所以現在利用Let's Encrypt免费证书來實現https化。

我是在寶塔上配置的,沒辦法小白一個。在Frp 隐藏 vhost_http_port端口這篇中實現了非80,443端口的隱藏。其實只要稍微改變一下就能實現https了。

一:在添加完站點后進入這個站點的設置,點擊左面的SSL,在Let's Encrypt選項中寫入自己的郵箱,勾選上域名提交就行了。申請成功后再點擊右上的強制https。這樣就會自動跳轉到https了。

Frp 隐藏 vhost_http_port端口

一台服務器上我們一般都會把80和443端口佔用的,這個時候FRP服務端的vhost_http_port和vhost_https_port就不能是80和443了,如前面的文章寫得端口是8088和8086。這個時候訪問web的時候還有帶上8088或者8086這樣的端口號,很不方便。下面介紹使用Ngnix來實現隱藏這樣端口的功能。
<h2></h2>
<h2 id="toc_0">Nginx 反向代理配置</h2>

  • 添加 Nginx 配置文件
sudo vi /etc/nginx/conf.d/vhost.conf

内容

server
{
    listen 80;
    server_name next.frp.*.com;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8088;
    }
    access_log /var/log/nginx/next.frp.*.com_access.log;#如果不需要日誌的話,可以把這一句註釋掉。
如果需要請自己建立這個文件,不然會報錯。
}


server
{
    listen 80;
    server_name next2.frp.*.com;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8088;
    }
    access_log /var/log/nginx/next2.frp.*.com_access.log;
}
  • 重启 Nginx

$ sudo systemctl reload nginx

如果你是用寶塔面板進行設置的話只需要一個一個域名的添加就行了。很簡單。

1,添加站點。寫上域名,提交。

 

2.點擊你所添加站點后右面的配置,在彈出的頁面中點擊配置文件,貼上如下圖的配置,保存即可。

 

FRP內網穿透服務端及客戶端架設

 

 

去github下載最新版FRP,下載時對應自己的作業系統。https://github.com/fatedier/frp

再去讀一下FRP的 README.md和Wiki,瞭解一下基本工作原理。

<span style="font-size: 18pt;">服務端架設</span>

下載對應自己版本的frp,https://github.com/fatedier/frp/releases

并傳到自己的VPS上,或者自己去找免費的FRP服務,請直接跳轉到客戶端架設。下載好後解壓出來,只保留frps及其配置文件。

打開配置文件,

[common]
bind_port = 7006 #服務端與客戶端連接端口
bind_addr=0.0.0.0#
kcp_bind_port=7006#开启 kcp 协议支持
bind_udp_port = 7001#UDP端口
vhost_http_port = 8088#http的訪問端口,可以自己定義,
vhost_https_port = 8086#https訪問端口,可以自己定義
subdomain_host = frp.*.com#解析域名,需要把這個域名解析到你服務器的IP上。
dashboard_port = 8089#控制台的端口
dashboard_user = name#控制台的訪問帳戶
dashboard_pwd = password#控制台的訪問密碼
privilege_token = *  #服務器與客戶端連接的token。最好設置一個比較複雜的,這樣會比較安全
max_pool_cunt=5#連接池

tcp_mux=true#啟用tcp多路複用

 

更多設置請看<span class="repo-root js-repo-root"><span class="js-path-segment">frp</span></span><span class="separator">/</span>README_zh.md

設置好以後就可以執行./frps -c ./frps.ini 啟動FRP。
<h3>添加frp到開機自啟。</h3>
請參考本站的  ubuntu 添加開機自啟軟件方法

然後再參考  Ubuntu/CentOS使用Supervisor管理进程

可以做到守護進程,這樣就不怕進程被kill了。

 
<h2>FRPC客戶端的配置。</h2>
[common]
server_addr = 服務器IP
server_port = 7006#和服務端的bind_port相同
privilege_token = #和服務端的privilege_token相同
tcp_mux=ture#如果服務端開啟了tcp多路複用客戶端也要開啟

protocol=kcp#根據自己需求是否開啟kcp,開啟后會消耗較多流量

pool_count=5#連接池,具體解釋請看<span class="repo-root js-repo-root"><span class="js-path-segment">frp</span></span><span class="separator">/</span>README_zh.md
login_fail_exit=false#鏈接失敗后不退出

[ssh]#根據自己的需求修改名字,方便服務端web查看管理
type = tcp
local_ip = 127.0.0.1#需要穿透的內網機器,如果是本機可以寫127.0.0.1也可以寫本機ip如192.168.1.1看你的ip是什麽就寫什麽
local_port = 22#需要穿透的本地端口
use_encryption = false#根據需要是否啟用加密
use_compression = false#根據需要是否啟用壓縮
remote_port = 39001#遠程服務器所用的端口

[NextCloud]
type = http
local_ip = 192.168.6.182#本地局域網機器ip
local_port = 80#需要穿透的本地端口
subdomain = next#二級域名,服務端設定的域名為subdomain_host = frp..com,那麼訪問這個穿透的端口就是next.frp..com:8088(端口號為服務端設置的vhost_http_port = 8088)

 

服務端添加開機自啟已經進程守護請參考服務端的設置。

如果這些都設置的沒問題的話打開服務端web就可以看到客戶端連接上來了。

 

linux系統swappiness參數在內存與交換分區間優化

 

 

swappiness的值的大小對如何使用swap分區是有著很大的聯繫的。swappiness=0的時候表示最大限度使用物理記憶體,然後才是 swap空間,swappiness=100的時候表示積極的使用swap分區,並且把記憶體上的數據及時的搬運到swap空間裏面。linux的基本默認設置為60,具體如下:

[root@timeserver ~]# cat /proc/sys/vm/swappiness
60

也就是說,你的記憶體在使用到100-60=40%的時候,就開始出現有交換分區的使用。大家知道,記憶體的速度會比磁片快很多,這樣子會加大系統io,同時造的成大量頁的換進換出,嚴重影響系統的性能,所以我們在操作系統層面,要盡可能使用記憶體,對該參數進行調整。

臨時調整的方法如下,我們調成10:

[root@timeserver ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@timeserver ~]# cat /proc/sys/vm/swappiness
10
這只是臨時調整的方法,重啟後會回到默認設置的

要想永久調整的話,需要將
需要在/etc/sysctl.conf修改,加上:
[root@timeserver ~]# cat /etc/sysctl.conf

Controls the maximum number of shared memory segments, in pages

kernel.shmall = 4294967296
vm.swappiness=10

[root@timeserver ~]# sysctl -p

這樣便完成修改設置!