欢迎光临
我们一直在努力

ubuntu 安装mysql 数据库

小彬阅读(11)

第1步:添加MySQL Apt存储库

目前已经有了现成可用于安装 MySQL Server、客户端和其它组件的 APT 存储库,我们需要先将 MySQL 存储库添加到 Ubuntu 18.04 的软件包源列表中:

1、 先使用 wget 下载存储库软件包

wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb

2、然后使用以下 dpkg 命令安装下载好的 MySQL 存储库软件包:

sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb

注意:在软件包安装过程中,系统会提示您选择 MySQL 服务器版本和其他组件,例如群集、共享客户端库或配置要安装 MySQL 的工作台。

默认 MySQL 服务器版本 mysql-8.0 的源将被自动选中,我们只需最终确定就可以完成发行包的配置和安装。

第2步:在Ubuntu 18.04中安装MySQL 8服务器

1、从所有已配置的存储库(包括新添加的 MySQL 8存储库)中下载最新的软件包信息:

sudo apt update

出现问题一些问题如下:

GPG error: http://repo.mysql.com/apt/ubuntu xenial InRelease: The following signatures were invalid: KEYEXPIRED 1550412832  KEYEXPIRED 1550412832  KEYEXPIRED 1550412832

错误解决办法:

 先查看执行命令:apt-key list

pub 4096R/89DF5277 2010-07-11
uid Guillaume Plessis gui@dotdeb.org
sub 4096R/3D624A3B 2010-07-11
sub 4096R/A2098A6E 2010-07-11
pub 1024D/5072E1F5 2003-02-03 [expired: 2017-02-16]
uid MySQL Release Engineering mysql-build@oss.oracle.com

删除mysql 的repository GPG key,删除命令如下:
sudo apt-key del 5072E1F5

删除完了之后,检查还有没有那个mysql的key
没有了,执行命令:

选择其中一种就可以
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5

sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5


sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5

如下输出

Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –homedir /tmp/tmp.z5SEIWWrbt –no-auto-check-trustdb –trust-model always –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg –keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg –keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg –keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-automatic.gpg –keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-stable.gpg –keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg –keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg –keyring /etc/apt/trusted.gpg.d/php.gpg –keyserver pgp.mit.edu –recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
gpg: requesting key 5072E1F5 from hkp server pgp.mit.edu
gpg: key 5072E1F5: “MySQL Release Engineering mysql-build@oss.oracle.com” 62 new signatures
gpg: Total number processed: 1
gpg: new signatures: 62

完成后,再执行apt-get update

2、然后运行如下命令安装 MySQL 8 社区服务器、客户端和数据库公用文件:

sudo apt-get install mysql-server

安装完成后,输入密码

3、接下来,MySQL 服务器认证插件的配置信息将会出现,用键盘右键选择 OK 后按回车继续。

4、此后,需要选择将要使用的默认身份认证插件,选择好之后按回车即可完成程序包配置。

MySQL 8使用基于改进的基于SHA256的新身份验证密码方法。 建议所有新的MySQL服务器安装使用这种方法。 这个新认证插件需要新版本的连接器和客户端,并支持这种新的身份验证方法(caching_sha2_password)。 目前是MySQL8使用libmysqlclient21支持构建的连接器和社区驱动程序

身份认证插件有如下 2 种可供选择:

使用存储密码加密(推荐)

使用传统认证模式(MySQL 5.x 兼容)

5、到这里就结束安装了

第3步:运行安全的 MySQL 8.0服务器

默认安装的 MySQL 服务器都是不太安全的,为了提供基本的安全保障,请运行二进制安装包中附带的安全脚本进行一些基本配置。(执行脚本时需要验证安装过程中已配置的 root 密码,然后选择是否使用 VALIDATE PASSWORD 插件。)

脚本执行后可以更改之前设置的 root 密码,然后执行 y 来解决如下安全问题:

Remove anonymous users? : y(删除匿名用户)

Disallow root login remotely?: y(禁止root远程登录)

Remove test database and access to it? : y(删除测试数据库)

Reload privilege tables now? : y(立即重新加载特权表)

sudo mysql_secure_installation

maven 安装配置

小彬阅读(20)

1、官网下载maven 安装包 地址:https://maven.apache.org/download.cgi

2、下载完成之后,解压

3、 创建环境变量MAVEN_HOME,设置值 D:\apache-maven-3.6.1

4、环境变量 Path 中追加 %MAVEN_HOME%\bin

5、然后可以在命令行中看下maven 是否安装成功,mvn -v

这样就是安装成功

6、配置maven 本地仓库地址

在maven 目录下 /conf/settings.xml 中设置本地仓库地址;

找到 <localRepository>/path/to/local/repo</localRepository>这块代码

将你欲设置仓库地址,放在标签 <localRepository>中间

设置仓库地址为:D:\apache-maven-3.6.1\repository

7、测试一下maven 配置是否成功

运行 mvn help:system

如果配置成功的话,本地仓库会出现一下文件

NPM 配置全局仓库地址

小彬阅读(23)

安装完成nodejs之后,默认安装了npm;

查看nodejs 和npm的版本信息

node -v  查询node版本
npm -v  查看npm 版本 

通过命令 npm config list,可以查看 npm的配置信息 ;下图中红色箭头指向的

prefix = “C:\Users\Administrator\AppData\Roaming\npm” 表示npm全局仓库地址;windows 默认在C盘 用户 AppData 目录下创建这个仓库。

根据实际情况,每个人可以将仓库地址配置到不同区域;

我是因为减轻C盘的负担,所以安装到其他盘下,具体配置步骤如下:

1.到nodejs安装目录,创建两个文件夹 node_gobal 和 node_cache

node_gobal 文件夹用来存储,全局安装模块

node_cache 用来存放缓存文件

2.使用命令行,修改npm配置项,命令行如下:

// 修改配置全局模块安装仓库
npm config set prefix "D:\Program Files\nodejs\node_gobal"
// 修改缓存存储位置
npm config set cache "D:\Program Files\nodejs\node_cache"

设置完成后,命令行中输入 npm config list ,查看配置信息是否修改成功,如果成功,结果如下图

npm 全局仓库配置成功截图

3.将”D:\Program Files\nodejs\node_gobal” 路径加入到系统环境变量PATH中,主要因为node全局模块大多数都是可以通过命令行访问的

完成以上步骤,你的配置项基本完工,后面就是安装全局模块来测试一下了。

遇到问题,可以留言告知!

腾讯云服务器Ubuntu 16 挂载新数据盘

小彬阅读(39)

腾讯云服务器Ubuntu 16 挂载新数据盘

1.显示硬盘及所属分区情况。在终端窗口中输入如下命令:

sudo fdisk -l

这个是我已经挂载好的

2.对硬盘进行分区。在终端窗口中输入如下命令:

sudo fdisk  /dev/vdb

后续一些操作顺序

  1. 在Command (m for help)提示符后面输入m显示一个帮助菜单。
  2. 在Command (m for help)提示符后面输入n,执行 add a new partition 指令给硬盘增加一个新分区
  3. 出现Command action时,输入p,
  4. 出现Partition number(1-4)时,输入1表示只分一个区
  5. 后续指定起启柱面(cylinder)号完成分区。
  6. 在Command (m for help)提示符后面输入w,保存分区表。系统提示:The partition table has been altered!

总结下: 过程如下  n回车 –> p回车 –> 1回车 –> 两次回车 –> w回车

3.在终端窗口中输入如下命令:

sudo  fdisk  -l

如下图所示:
系统已经识别了硬盘 /dev/vdb 的分区。

4.硬盘需要格式化;显示硬盘及所属分区情况。在终端窗口中输入如下命令:

sudo mkfs -t ext4 /dev/vdb1

说明:
-t ext4 表示将分区格式化成ext4文件系统类型。

5.挂载硬盘分区;显示硬盘挂载情况。在终端窗口中输入如下命令:

df -l

新硬盘分区没有挂载,无法进入和查看。

挂在过程:

  1. 在根目录创建文件夹  sudo mkidr  bin_blog
  2. 将  /dev/vdb1 挂载到目录 /bin_blog

sudo mount -t ext4 /dev/vdb1   /bin_blog

再次在终端窗口中输入如下命令:

df -l

新硬盘分区已经挂载,如下图内容。

6.配置硬盘在系统启动自动挂载。在文件 /etc/fstab 中加入如下配置:

Sudo vim /etc/fstab 打开配置文件

配置内容

“/dev/vdb1     /bin_blog   ext4     defaults       0 0”

配置完成之后,需要校验配置项是否正确,否则重启会启动不了。

sudo mount -a

命令执行无任何响应,说明就没有任何问题。重启下看看是不是自动挂载好了。

好了,去试试看看吧,是否有效,如果有问题可以联系我。

愿归来时,仍是你

小彬阅读(54)

愿你有良友伴
愿你十年,一如初见

愿你来生深情不被辜负 ,有好人相伴

愿你三冬暖,愿你春不寒

愿你天黑有灯,下雨有伞

愿你善其身,愿你遇良主

愿你忠于自己,活的认真

笑的放肆,走也走的潇洒

放下过去那些走过的路,丢掉的人

愿你独闯的日子里不觉孤单

半夜想敲点代码

小彬阅读(30)

大圣归来
西游路漫漫,不知何处是灵山

在凌晨两点钟的上海,打完游戏,忽然想写点东西;

但是发现无从下手,像是想穿鞋,找不到袜子。

其实每个人都认可,一句话,经验需要一点一滴的积累;但是现在的我们,大多数从来都是不积累,拿来主义仿佛变成了大家通病。

也许我们需要点什么精神文明来刺激下,改变这个可怕的观念,什么观念?拿来主义不可耻,重复的工作没有任何意义,我们只要在最短的时间内做到最好就行。可是是这样的吗?

听起来没什么毛病,但这就像是盖高楼,你的基石,你的一砖一瓦从来都不是经过你,你虽住着高楼,登高望远,可你从来不知道,高楼中是否有某一块暗藏玄机,也许只要小小的挪动一个位置,你的高楼瞬间崩塌。

饭要一口一口吃,路要一步一步走,所以今晚的泡面不吃了,毕竟减肥不易,加油少年!

linux nginx 高并发配置

小彬阅读(34)

直接贴配置

1、linux 内核配置 net.core 如下

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.ip_local_port_range = 1024 65000


//linux 内核配置   vi /etc/sysctl.conf    sysctl -p



net.core.somaxconn = 65535
net.core.rmem_default = 8388608
net.core.wmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
net.ipv4.tcp_mem = 786432 2097152 3145728
net.ipv4.tcp_max_syn_backlog = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_orphans = 131072
net.ipv4.tcp_syncookies = 0
net.ipv4.ip_local_port_range = 1024 65535

2、关于nginx的配置项 nginx.conf 配置如下


user  root;
worker_processes    16;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

worker_rlimit_nofile 65535;

events {
    use epoll;
    worker_connections 65535;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
	
    sendfile    on;
    tcp_nopush on;
    tcp_nodelay on; 
    fastcgi_buffers 16 256k;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    server_names_hash_bucket_size 256;
    client_header_buffer_size 64k;
    large_client_header_buffers 16 64k;
    client_max_body_size 16m;
    keepalive_timeout  60;
	
    upstream yktxwfxService{
	  server 192.168.132.60:8091 weight=1 ;
	  server 192.168.132.61:8091 weight=1 ;
          server 192.168.132.62:8091 weight=1 ;
	  server 192.168.132.63:8091 weight=1 ;
	  server 192.168.132.64:8091 weight=1 ;
	  server 192.168.132.65:8091 weight=1 ;
	  server 192.168.132.66:8091 weight=1 ;
	  server 192.168.132.67:8091 weight=1 ;
    }
    #gzip  on;

    #include /etc/nginx/conf.d/*.conf;

    server {
     listen      80;
     server_name  localhost;

     #charset koi8-r;
     #access_log  /var/log/nginx/host.access.log  main;

     location / {
        proxy_buffer_size 256k;
        proxy_buffers 32 128k;
        proxy_busy_buffers_size 512k;
        proxy_read_timeout 200;
        proxy_pass   http://yktxwfxService;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        #root   /usr/share/nginx/html;
        #index  index.html index.htm;
     }

     #error_page  404              /404.html;

     # redirect server error pages to the static page /50x.html
     #
     error_page   500 502 503 504  /50x.html;
     location = /50x.html {
        root   /usr/share/nginx/html;
     }

     # proxy the PHP scripts to Apache listening on 127.0.0.1:80
     #
     #location ~ \.php$ {
     #    proxy_pass   http://127.0.0.1;
     #}

     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     #
     #location ~ \.php$ {
     #    root           html;
     #    fastcgi_pass   127.0.0.1:9000;
     #    fastcgi_index  index.php;
     #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
     #    include        fastcgi_params;
     #}

     # deny access to .htaccess files, if Apache's document root
     # concurs with nginx's one
     #
     #location ~ /\.ht {
     #    deny  all;
     #}
    }

}

3、linux 系统连接以及打开文件最大限制修改

linux 默认值 open files 和 max user processes 为1024
通过以下命令可以查看
#ulimit -n
1024
#ulimit –u
1024

可以直接通过  ulimit –n 65535  ulimit –u 65535 进行即时修改
但是重启后无效