zoukankan      html  css  js  c++  java
  • 阿里云服务器搭建经历

    前言

           转眼间又到了周五,今天暂时想不到什么可以写的,但是又不能浪费了周五这么难得的机会,不写点东西感觉有点罪过啊~~突然想起来以前给某个小公司做了一个留言管理系统,并且部署在阿里云服务器上。所以当时也是倒腾了一下阿里云服务器的搭建,其中也有一些踩坑的经历,想在这里记录一下,顺便也可以温习一下这个过程,同时也希望能够帮助到其他人,避免重复踩坑。好了,废话不多说,直接开始吧。

    原材料:

         主要需要安装配置mysql、jdk、tomcat。阿里云服务器我选择的是比较主流的Centos7操作系统,其他感觉系统应该是类似的~~

    1.安装配置mysql

    配置mysql教程:

         Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息。然而,网上关于Linux安装mysql数据库的教程数不胜数,但是,大多教程都是漏洞百出。今天,为了帮助各位需要的人,从而写下Centos7安装配置mysql5.6的教程。好了,话不多说,上教程:

    一、安装MySQL

    • 1、下载安装包mysql-5.6.34-linux-glibc2.5-x86_64.tar(可前往官网自行下载:http://dev.mysql.com/downloads/mysql/)
    • 2、卸载系统自带的Mariadb

      打开Terminal终端:

      1 [root@localhost ~]# rpm -qa|grep mariadb  // 查询出来已安装的mariadb
      2 [root@localhost ~]# rpm -e --nodeps 文件名  // 卸载mariadb,文件名为上述命令查询出来的文件
    • 3、删除etc目录下的my.cnf

      1 [root@localhost ~]# rm /etc/my.cnf
    • 4、执行以下命令来创建mysql用户组
    1 [root@localhost ~]# groupadd mysql
    • 5、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组
    1 [root@localhost ~]# useradd -g mysql mysql
    • 6、将下载的压缩包放到 /usr/local/ 目录下(通过mv 要移动的文件 /usr/local/)
    • 7、解压安装包

    1 [root@localhost ~]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar
    • 注:如果压缩包为:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz,
      则解压命令为: tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

    • 8、将解压好的文件夹重命名为mysql

    1 [root@localhost local]# mv 解压出来的文件夹名 mysql
    • 9、在 etc 下新建配置文件my.cnf,并在该文件中添加一下代码:当然,也有简单方式:直接copy一份my.cnf文件到/etc下,然后再修改即可。e g:copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下命令为:

      1 [root@localhost support-files]# cp my-default.cnf /etc/my.cnf

       

      然后,配置/etc目录下的my.cnf文件

    1 [root@localhost support-files]# vim /etc/my.cnf
    • 通过vim编辑器编辑my.cnf代码如下:

     1 [mysql]
     2 //#设置mysql客户端默认字符集
     3 default-character-set=utf8 
     4 socket=/var/lib/mysql/mysql.sock
     5 [mysqld]
     6 skip-name-resolve
     7 //#设置3306端口
     8 port = 3306 
     9 socket=/var/lib/mysql/mysql.sock
    10 //# 设置mysql的安装目录
    11 basedir=/usr/local/mysql
    12 //# 设置mysql数据库的数据的存放目录
    13 datadir=/usr/local/mysql/data
    14 //# 允许最大连接数
    15 max_connections=200
    16 //# 服务端使用的字符集默认为8比特编码的latin1字符集
    17 character-set-server=utf8
    18 //# 创建新表时将使用的默认存储引擎
    19 default-storage-engine=INNODB
    20 lower_case_table_name=1
    21 max_allowed_packet=16M
    • 10、进入安装mysql软件目录

    1 [root@localhost ~]# cd /usr/local/mysql
    2 [root@localhost mysql]# chown -R mysql:mysql ./       修改当前目录拥有着为mysql用户
    3 [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 安装数据库

    注:若执行以上最后一个命令出现以下问题:

    1 FATAL ERROR: please install the following Perl modules before executing 
    2 ./scripts/mysql_install_db:Data::Dumper

    解决方法 :安装autoconf库
    命令:

    1 yum -y install autoconf //此包安装时会安装Data:Dumper模块

    安装完成重新执行上述最后一个命令
    可能还会有错误,需要安装某个模块,百度一下就知道了。
    重新回到上述第三个命令继续操作:

    1 [root@localhost mysql]# chown -R mysql:mysql data 修改当前data目录的拥有者为mysql用户

    到此数据库安装完毕!

    二、配置MySQL

    1、授予my.cnf最大权限

    1 [root@localhost ~]# chown 777 /etc/my.cnf

    设置开机自启动服务控制脚本:

    2、复制启动脚本到资源目录

    1 [root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

    3、增加mysqld服务控制脚本执行权限

    1 [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

    4、将mysqld服务加入到系统服务

    1 [root@localhost mysql]# chkconfig --add mysqld

    5、检查mysqld服务是否已经生效

    1 [root@localhost mysql]# chkconfig --list mysqld

    命令输出类似下面的结果:

    1 mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

    表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止。

    命令为:  service mysqld startservice mysqld stop

    6、启动mysqld

    1 [root@localhost mysql]# service mysqld start

    7、将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件

    1 [root@localhost mysql]# vim ~/.bash_profile

    在文件最后添加如下信息:

    1 export PATH=$PATH:/usr/local/mysql/bin

    然后按ESC键
    继续 shift键加冒号打出来=> :
    接下来输入wq回车即可
    执行下面的命令是修改的内容立即生效:

    1 [root@localhost mysql]# source ~/.bash_profile

    8、以root账户登录mysql,默认是没有密码的

    1 [root@localhost mysql]# mysql -uroot -p

    要输入密码的时候直接回车即可。

    9、设置root账户密码为root(也可以修改成你要的密码)

    1 mysql>use mysql;
    2 mysql>update user set password=password('root') where user='root' and host='localhost';
    3 mysql>flush privileges;

    10、设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码

    1 mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;

    2.安装及配置jdk

    主要配置环境变量,网上教程众多,这个不必多说,配置完成后需要是文件生效。

    1 vim /etc/profile
    2 source /etc/profile

    3.安装及配置tomcat

    类似jdk,简单安装不必多说。
    Tomcat配置好了之后注意修改一些配置
    修改端口号tomcat/conf/server.xml
    修改Tomcat启动 jvm参数:tomcat/bin/catalina.sh
    配置改好之后需要修改应用相关配置
    应用修改配置文件tomcat/webapps/…/WEB-INF/classes/properties/mysqlback.properties备份路径

    4.常见问题(踩坑)

    错误:(需要授权)

     授权方法:

    1 CREATE USER 'sdwyq'@'127.0.0.1' IDENTIFIED BY 'your password';
    2 GRANT all privileges ON sdwyq.* TO 'sdwyq'@'127.0.0.1' IDENTIFIED BY 'your password';
    3 flush privileges;

    mysqldump: command not found 问题解决:

    1 ln -fs /usr/local/mysql/bin/mysql /usr/bin
    2 ln -fs /usr/local/mysql/bin/mysqldump /usr/bin

    错误:mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect

    原因是 mysql的存储目录更改了,需要加上-h 127.0.0.1就好了。
    另外一个方法:(不需要加-h 127.0.0.1)

    1 [root@localhost /]# find / -name mysql.sock

    结果:

    1 /var/lib/mysql/mysql.sock

    原来安装到/var/lib/mysql/mysql.sock这个位置啦,我们需要修改my.cnf文件

    1 [root@localhost /]# vi /usr/local/mysql/my.cnf
    1 [client]
    2 port    = 3306
    3 socket  = /var/lib/mysql/mysql.sock

    定时任务相关:修改定时任务路径

    1 /bin/systemctl restart crond.service  #启动服务
    2 /bin/systemctl reload  crond.service  #重新载入配置
    3 /bin/systemctl status  crond.service  #查看crontab服务状态

    授予指定ip权限:

    1 update user set host = 'new ip' where host = 'old ip' and user = 'root';

    远程连接阿里云CentOS中mysql出现10060错误
           在阿里云上搭建的mysql数据库,已经配置好了各项属性,root下也变成‘%’了,可还是用navicat连接不同,出现10060错误。最后经过查找,发现是阿里云上的安全组入口没有设置。所以写下本篇希望能给广大网友提供方便。
           你可以看到你的3306端口并没有打开,所以你新建一个就OK了。
    MySQL 5.6版本 Linux下内存占用过高的解决办法
          最近在阿里云购买了一台云服务器,因为是自己测试玩的,所以配置按最低的来了,1G内存,然后啪啪啪(指键盘声音)的安装了JDK,Tomcat,MySQL(5.6)等一系列环境,开始很爽,然后噩梦开始了:
           MySQL会经常停止运行,而且启动都起不起来,要reboot才行,常看MySQL保存日志,发现是内存不够,看了一下,环境全部开启以后,内存占用基本都在90%以上,通过htop仔细查看内存占用,MySQL要占用460M左右…
           后来查阅相关资料,MySQL 5.6的默认缓存设置对于低内存的环境并不合理,如果使用默认的配置,至少要占用400M以上。可以修改my.cnf中的默认配置,降低内存占用。
           我的系统是centos,my.cnf位于/etc目录下,先关闭MySQL服务然后编辑配置文件:

    1 service mysql stop
    2 sudo vi /etc/my.cnf

    默认的配置是:

    1 performance_schema_max_table_instances 12500
    2 table_definition_cache 1400
    3 table_open_cache 2000

    修改为:

    1 performance_schema_max_table_instances=600
    2 table_definition_cache=400
    3 table_open_cache=256

    即可,如果没有找到这三个配置,可以直接在文件尾添加,然后启动MySQL服务即可,我这边修改后后MySQL的内存占用大概在70M多。

    好了,今天内容差不多就这些,感觉写的好乱。。。Anyway,还是希望能够帮到一些人吧。另外,如果有错误,欢迎大家指正~~~

  • 相关阅读:
    [数据知识]DAMA数据管理—引论
    How to clear/delete all the partition table from a disk or partition in Linux
    Rust Safe Coding Notes
    量化交易平台
    斯坦福大学——人工智能本科4年课程清单
    去中心化数字身份DID简介——五、DID的应用
    linux c 打印时间最简单的实例
    sqlalchemy中Column的默认值属性
    Ubuntu安装jdk8的两种方式
    面试官:手撕十大排序算法,你会几种?(转)
  • 原文地址:https://www.cnblogs.com/guishenyouhuo/p/9972462.html
Copyright © 2011-2022 走看看