日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

个人网站搭建时linux中的相关配置记录(mysql,jdk,nginx,redis)

發(fā)布時(shí)間:2023/12/16 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 个人网站搭建时linux中的相关配置记录(mysql,jdk,nginx,redis) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、開發(fā)計(jì)劃(包括準(zhǔn)備工作,網(wǎng)站大致需求等)

二、服務(wù)器(linux/centos)購買、相應(yīng)環(huán)境配置(jdk),軟件安裝(mysql, nginx, redis)、域名解析

三、原型圖、代碼開發(fā)(vue.js,  springboot)

?

二:

  1. 安裝mysql(壓縮包形式)記錄(linux)  另一種快捷安裝,參考:https://www.cnblogs.com/wishwzp/p/7113403.html

    a. 下載mysql安裝包(鏈接: https://pan.baidu.com/s/1RZzGfEd_AdSMR8UHrFSUjg 密碼: yrw3)

    b. 將壓縮包拷貝至/usr/local中(我用的xftp)

    c.?安裝依賴: [root@mufeng local]# yum -y install perl perl-devel autoconf libaio

    d. 解壓: [root@mufeng local]#?tar?-zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

     重命名解壓后的mysql目錄: [root@mufeng local]#?mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql

    e.?添加用戶組和用戶: 

        檢查mysql組和用戶是否存在,如無創(chuàng)建  

           [root@mufeng local]# cat /etc/group|grep mysql
           mysql:x:1000:
           [root@mufeng local]# cat /etc/passwd|grep mysql
           mysql:x:997:1000::/home/mysql:/bin/bash

         若無則:添加用戶組:         [root@mufeng local]#?groupadd mysql

             添加用戶mysql 到用戶組mysql:[root@mufeng local]# useradd -r -g mysql mysql f. 賦予權(quán)限:

        [root@mufeng local]# chown -R mysql mysql/
        [root@mufeng local]# chgrp -R mysql mysql/

    g. 安裝和初始化數(shù)據(jù)庫:[root@mufeng local]#?./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

    h. 設(shè)置啟動(dòng)文件:[root@mufeng local]#?cp -a ./support-files/my-default.cnf /etc/my.cnf

            [root@mufeng local]#?cp -a ./support-files/mysql.server? /etc/init.d/mysqld

    i. 啟動(dòng)mysql: ? [root@mufeng mysql]# service mysqld start

            Starting MySQL.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? OK? ]

    j. 設(shè)置開機(jī)啟動(dòng):[root@mufeng mysql]# chkconfig --level 35 mysqld on

    k. 建立軟連接(可在任何目錄下訪問):[root@mufeng bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin

    l. 登錄mysql并設(shè)置密碼(首次無需密碼):[root@mufeng bin]# mysql -uroot -p

                        Enter password:

                       mysql> set password = password("root");

                       mysql>?flush privileges;?    //刷新權(quán)限

    m. 添加遠(yuǎn)程連接的賬號(hào)、并設(shè)置權(quán)限:mysql> grant all privileges on *.* to 'zhanghao'@'%' identified by "password";

                     ?mysql> flush privileges;

                     ?mysql> select user, password, host from mysql.user;  //查看是否添加成功

    n. 本地連接測(cè)試:  

            [root@mufeng bin]# mysql -u zhanghao -p
            Enter password:
            ERROR 1045 (28000): Access denied for user 'mufeng'@'localhost' (using password: YES)

?      發(fā)現(xiàn)連接不上,但賬號(hào)密碼是正確的,原因:數(shù)據(jù)庫安裝初始化時(shí),會(huì)創(chuàng)建匿名賬戶,在本地登錄時(shí),會(huì)默認(rèn)去匹配匿名賬戶,所以此時(shí)輸入密碼,連接時(shí),報(bào)密碼錯(cuò)誤,不輸入密碼,反而可以直接連接

      解決方法:登錄root賬號(hào),刪除匿名賬號(hào):mysql> delete from mysql.user where user='';

           更新新賬號(hào)的密碼:     mysql> update mysql.user set password =PASSWORD('password') where user = 'zhanghao'; 

          ? ? 刷新權(quán)限:        ? ?mysql> flush privileges;

           再次連接(輸入密碼):成功

    o. 遠(yuǎn)程客戶端連接,顯示無法連接:

              

      檢查端口是否開放:tcping ip 3306 結(jié)果:ping不通,解決方法:登錄服務(wù)器后臺(tái),添加安全組入網(wǎng)規(guī)則,打開3306端口,再次連接,連接成功。

    p. 當(dāng)更改了配置文件后,需要重啟mysql時(shí),有時(shí)會(huì)遇到這個(gè)問題:

        

      解決方法:查看錯(cuò)誤文件:[root@mufeng /]# vi /usr/local/mysql/data/mufeng.err

      找到相應(yīng)的錯(cuò)誤記錄:我的是,2018-08-06 09:56:16 2573 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'default-character-set=utf8'

      然后,編輯配置文件:[root@mufeng /]# vi /etc/my.cnf 

        注釋掉,或改正,再次重啟即可:

?        

?

    數(shù)據(jù)表區(qū)分大小寫操作:在配置文件/etc/my.cnf中添加如下(也可參考:https://www.cnblogs.com/kevingrace/p/6150748.html)

                #表名大小寫:0為大小寫敏感,1為不區(qū)分大小寫
                lower_case_table_names=1

    修改數(shù)據(jù)庫賬號(hào)名密碼:https://blog.csdn.net/u013510614/article/details/50506676 ? ? ? ?5.7版本:https://blog.csdn.net/qq_33472557/article/details/77726094

              root賬號(hào)連接數(shù)據(jù)庫: mysql -u root -p  

                        Enter password:***

              更新密碼:     UPDATE mysql.user SET password=PASSWORD("新密碼") WHERE user='你的用戶名';

                          版本高時(shí),會(huì)報(bào)錯(cuò):ERROR 1054 (42S22): Unknown column 'password' in 'field list'

                          原因:版本不同,字段已經(jīng)更改,使用:

                          ? ??update mysql.user set authentication_string=password('新密碼') where user='你的用戶名'

              刷新權(quán)限,否則不會(huì)生效:??FLUSH PRIVILEGES;

              退出:        quit

    查看當(dāng)前用戶名密碼等信息:  select user, host, authentication_string from mysql.user;

                        

安裝mysql參考文章:https://blog.csdn.net/u011270458/article/details/78539348;https://blog.csdn.net/ldy1016/article/details/49227247 2. 配置jdk: a. 下載相應(yīng)版本的jdk包:https://www.oracle.com(這里是我的jdk1.8:鏈接: https://pan.baidu.com/s/1TpM4vzXNd9hGHI6Rw-84cw 密碼: iucs) b. 將壓縮包放在 /usr/local/java中,解壓:[root@mufeng /]#?tar -zxvf?jdk-8u161-linux-x64.tar.gz c. 配置環(huán)境變量:vim /etc/profile?? 添加如下: JAVA_HOME=/usr/java/jdk1.8.0_60CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLASSPATH 注意jdk路徑,對(duì)應(yīng)自己的路徑 重新加載配置文件:source /etc/profile d. 查看安裝情況: [root@mufeng /]# javac -version

              javac 1.8.0_161

       配置成功

    

    配置jdk環(huán)境變量參考文章:https://www.cnblogs.com/shihaiming/p/5809553.html

3. 安裝nginx a. 下載相應(yīng)版本的壓縮包:鏈接: https://pan.baidu.com/s/16yzxJqYv5qDtsHJh_lkEpQ 密碼: 47bi b. 將壓縮包放在 /usr/local/中,解壓:[root@mufeng /]#?tar -zxvf nginx-1.12.2.tar.gz c. 配置安裝nginx需要的環(huán)境: 安裝?nginx?的編譯環(huán)境 gcc:[root@mufeng /]#?yum install gcc-c++
      nginx的 http模塊使用?pcre?解析正則表達(dá)式,所以安裝?perl?兼容的正則表達(dá)式庫                   ? ?[root@mufeng /]#?yum install -y pcre pcre-devel       nginx?使用?zlib?對(duì)?http?包的內(nèi)容進(jìn)行?gzip:                   ?[root@mufeng /]# yum install -y zlib zlib-devel       nginx?不僅支持?http?協(xié)議,還支持?https(即在?ssl?協(xié)議上傳輸?http),如果使用了?https?,需要安裝?OpenSSL?庫:                   ? ??[root@mufeng /]#?yum install -y openssl openssl-devel     d. 配置(使用默認(rèn)配置):[root@mufeng /]#?cd /usr/local/nginx-1.12.2                 [root@mufeng /]#?./configure       nginx?被安裝到?/usr/local/nginx?下     e. 編譯安裝:[root@mufeng /]#?make && make install     f. 配置環(huán)境變量:[root@mufeng /]#?vim /etc/profile       在文件最后位置添加:     export NGINX_HOME=/usr/local/nginxexport PATH=$PATH:$NGINX_HOME/sbin

      重新編譯 /etc/profile 文件,使其生效:source /etc/profile

    g.啟動(dòng)nginx:nginx -c /usr/local/nginx/conf/nginx.conf
     查看nginx進(jìn)程:[root@mufeng /]# ps -ef|grep nginx
      成功
   h.設(shè)置nginx開機(jī)啟動(dòng):[root@mufeng /]# vi /etc/rc.local

     在文件最后位置添加:/usr/local/nginx/sbin/nginx

    i.nginx其他命令:        重啟:nginx -s reload             
       
關(guān)閉:nginx -s stop              
       
查看nginx配置文件的位置:nginx -t

安裝nginx參考文章:https://blog.csdn.net/qq_30038111/article/details/79410354 4. 搭建redis集群 cd /usr/local/redis_cluster a. 集群環(huán)境安裝: 安裝gcc,g++:    ? ? ?[root@mufeng redis_cluster]#?yum install gcc g++ 安裝ruby腳本運(yùn)行環(huán)境:? ??[root@mufeng redis_cluster]#?yum install ruby 安裝wget命令:    ? ??[root@mufeng redis_cluster]#?yum install wget b.?安裝redis: 下載redis:?[root@mufeng redis_cluster]# wget http://download.redis.io/releases/redis-3.2.4.tar.gz 解壓:? ? ? ??[root@mufeng redis_cluster]#?tar -zxvf redis-3.2.4.tar.gz 編譯安裝到指定目錄:?[root@mufeng redis_cluster]# cd redis-3.2.4   [root@mufeng redis_cluster]#?make install PREFIX=/usr/local/redis_cluster/redis  測(cè)試,前端啟動(dòng)模式:??[root@mufeng redis_cluster]#?/usr/local/redis_cluster/redis/bin/redis-server ctrl+c退出 c. 編輯配置文件,并啟動(dòng) 從解壓后的redis源碼目錄中復(fù)制redis.conf到redis的安裝目錄:[root@mufeng redis_cluster]#?cp ./redis-3.2.4/redis.conf? /usr/local/redis_cluster/redis/bin 編輯剛復(fù)制到安裝目錄的配置文件redis.conf:[root@mufeng redis_cluster]#?vi ./redis/bin/redis.conf 把后臺(tái)運(yùn)行開啟,把原來的NO改成yes:daemonize?yes (# 設(shè)置yes,redis可以后臺(tái)運(yùn)行) bind 127.0.0.1 改為 bind 0.0.0.0  (# 0.0.0.0 代表外網(wǎng)能訪問) protected-mode yes 改為?protected-mode no  (# 改為no,可以外界遠(yuǎn)程訪問,redis 3.2 才追加的一個(gè)功能) (使用技巧:vim打開后,在非insert狀態(tài)下,輸入? /daemonize? 回車,便可找到daemonize位置,按n就查找下一個(gè),按下 i鍵 進(jìn)入編輯狀態(tài),更改后,按下esc鍵,退出編輯狀態(tài),按下shift+; 輸入:wq,保存退出) 使用配置文件,后臺(tái)啟動(dòng):[root@mufeng bin]#?./redis-server redis.conf 打開客戶端:[root@mufeng bin]# ./redis-cli 退出:quit d. 集群搭建準(zhǔn)備: 創(chuàng)建6個(gè)redis實(shí)例:   持久化文件刪掉:[root@mufeng redis_cluster]#?cd redis/bin [root@mufeng bin]#?rm -f dump.rdb             創(chuàng)建多個(gè)實(shí)例:? ?[root@mufeng bin]#?cd .. //返回上一級(jí)目錄

                    [root@mufeng redis]#cp -r bin ../redis_cluster/6379

                    [root@mufeng redis]#cp -r bin ../redis_cluster/6380

                    ......

                    [root@mufeng redis]#cp -r bin ../redis_cluster/6384

        編輯各個(gè)實(shí)例下面的配置文件,修改兩處,第一修改端口號(hào)(port:6379,6380,...,6384),

                          第二打開cluster-enable前面的注釋  (# 開啟集群,把注釋#去掉)

        復(fù)制腳本到redis-cluster目錄下:[root@mufeng redis]#?cp /usr/local/redis_cluster/redis-3.2.4/src/*.rb? /usr/local/redis_cluster/

        創(chuàng)建redis集群?jiǎn)?dòng)的腳本,來便捷的啟動(dòng)6個(gè)實(shí)例:[root@mufeng redis_cluster]#?vim startall.sh

          內(nèi)容如下:

cd 6379 ./redis-server redis.conf cd .. cd 6380 ./redis-server redis.conf cd .. cd 6381 ./redis-server redis.conf cd .. cd 6382 ./redis-server redis.conf cd .. cd 6383 ./redis-server redis.conf cd .. cd 6384 ./redis-server redis.conf cd ..

        保存并退出 ?wq!;編輯腳本權(quán)限:[root@mufeng redis_cluster]#??chmod +x startall.sh

        利用腳本啟動(dòng)redis集群:[root@mufeng redis_cluster]#??./startall.sh

        查看各個(gè)實(shí)例的運(yùn)行狀態(tài):ps aux|grep redis

      e. 集群正式搭建:

        安裝redis:[root@mufeng redis_cluster]#??gem install redis

          可能:-bash: gem: command not found? ?則:安裝redis集群工具和環(huán)境

            ? ?則 [root@iZbp15h7x6vujtklreqtreZ redis_cluster]# yum install ruby && yum install -y rubygems

          可能:ERROR:? Could not find a valid gem 'redis' (>= 0) in any repository? ? ?可參考:https://blog.csdn.net/snowhite91/article/details/78962436

             則 [root@iZbp15h7x6vujtklreqtreZ redis_cluster]# wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem

           有一次安裝時(shí),還出現(xiàn)了:While executing gem ... (Zlib::BufError)? ? ?buffer error 錯(cuò)誤

              沒有找到原因,但最后 把redis_cluster目錄下的 所有rm -rf redis-3.2.1.gem文件刪除后,此錯(cuò)誤消失了

          此時(shí)可能會(huì)報(bào)錯(cuò)(我遇到了):Redisredis requires Ruby version >= 2.2.2

          解決方法參考:https://blog.csdn.net/FengYe_YuLu/article/details/77628094? ??https://blog.csdn.net/zhaoyahui_666/article/details/78716511

        開放端口:6379-6384,集群總線端口16379-16384

       ?創(chuàng)建集群(下邊的ip地址改為自己的公網(wǎng)ip,不要寫127.0.0.1,否則外部無法訪問):?

             [root@mufeng redis_cluster]# ./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

       運(yùn)行上面命令后會(huì)出現(xiàn),詢問:輸入 yes,即可

        --replicas 1表示主從復(fù)制比例為 1:1,即一個(gè)主節(jié)點(diǎn)對(duì)應(yīng)一個(gè)從節(jié)點(diǎn);然后,默認(rèn)給我們分配好了每個(gè)主節(jié)點(diǎn)和對(duì)應(yīng)從節(jié)點(diǎn)服務(wù),以及 solt 的大小,因?yàn)樵?Redis 集群中有且僅有 16383 個(gè) solt ,默認(rèn)情況會(huì)給我們平均分配,當(dāng)然你可以指定,后續(xù)的增減節(jié)點(diǎn)也可以重新分配。

      f. 集群設(shè)置密碼,實(shí)現(xiàn)外部安全訪問

          首先上一步的IP必須是公網(wǎng)的ip

          更改各個(gè)實(shí)例的配置文件redis.conf,分別添加:requirepass? yourpassword

6個(gè)實(shí)例添加的要相同 刪除掉每個(gè)實(shí)例中的nodes.conf文件, 查看所有redis進(jìn)程:[root@mufeng redis_cluster]# ps aux|grep redis kill掉這6個(gè)進(jìn)程:kill -9 pid 然后重新啟動(dòng)6個(gè)redis實(shí)例:[root@mufeng redis_cluster]# ./startall.sh 測(cè)試:不輸入密碼時(shí),會(huì)提醒需要密碼,

              輸入密碼,再次測(cè)試,成功;

?              

      其他問題:有時(shí)需要重新搭建時(shí),遇到此問題:[ERR] Node 39.108.145.103:6381 is not empty. Either the node already knows other nodes (check with C

           解決方法:刪除掉節(jié)點(diǎn)下 aof、rdb結(jié)尾的文件,重新執(zhí)行e中的創(chuàng)建集群命令即可

      g. 連接測(cè)試??[root@mufeng 6379]#?./redis-cli -c -h?127.0.0.1 -p 6379 -a Passw0rd

        只有加入 “-c” 才會(huì)啟動(dòng)集群模式,不然會(huì)報(bào)錯(cuò):(error) MOVED 5798 39.108.145.103:6380

        

?      安裝也可參考:https://www.cnblogs.com/007sx/p/7158977.html

  5. 由于服務(wù)器配置太低,現(xiàn)將redis集群改為reids單機(jī)版,以減少內(nèi)存

    具體參考:https://blog.csdn.net/makang456/article/details/54947193

6. 遇到的問題: 數(shù)據(jù)表區(qū)分大小寫:https://blog.csdn.net/wangshuai6707/article/details/52168467 登錄mysql時(shí)-bash: mysql: command not found:https://blog.csdn.net/TROY_Musou/article/details/80336059 搭建redis集群時(shí):e中遇到的問題:https://blog.csdn.net/zhaoyahui_666/article/details/78716511 f中遇到的問題:https://blog.csdn.net/vtopqx/article/details/50235737? ?

轉(zhuǎn)載于:https://www.cnblogs.com/mufengforward/p/9342354.html

總結(jié)

以上是生活随笔為你收集整理的个人网站搭建时linux中的相关配置记录(mysql,jdk,nginx,redis)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。