今天一个新的项目终于能够重新安装mysql了,分享下步骤:

 1.下载地址:http://dev.mysql.com/downloads/mysql/  (选择Linux - Generic版本的Linux - Generic (glibc 2.5)  (x86, 64-bit), Compressed

 2.直接将下载后的解压缩到/usr/local目录下

      tar zxvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz  -C /usr/local

      mv mysql-5.7.15-linux-glibc2.5-x86_64 mysql

     mkdir /var/lib/mysql

3.生成并修改mysql配置文件,cp support-files/my-default.cnf  /etc/my.cnf

      vim /etc/my.cnf:

      [mysqld]

      datadir=/usr/local/mysql/data

      socket=/tmp/mysql.sock

      character-set-server=utf8

      collation-server=utf8_general_ci

      [mysqld_safe]

      #log-error=/var/log/mariadb/mariadb.log

      #pid-file=/var/run/mariadb/mariadb.pid

      log-error=/var/log/mysql/mysql.log

      pid-file=/var/run/mysql/mysql.pid

      # include all files from the config directory

       !includedir /etc/my.cnf.d

 4.由于解压后的mysql事已经编译过的了,所以不需要进行--configure ,make ,make install等步骤了,直接进入到/usr/local/mysql目录下面进行下列指令操作(可参考mysql官网:http://dev.mysql.com/doc/refman/5.7/en/binary-installation.html): 

      groupadd mysql

      useradd -r -g mysql -s /bin/false mysql

      mkdir data

      mkdir mysql-files

      chown -R mysql .

      chgrp -R mysql .

      bin/mysqld --initialize --user=mysql(记录好在这里生成的password,这便是mysql root用户的初始密码)

      bin/mysql_ssl_rsa_setup

      chown -R root .

      chown -R mysql data mysql-files

      bin/mysqld_safe --user=mysql &

    注:在执行bin/mysqld --initalize --user=mysql的时候可能会出现如下bug:

      bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

      这是因为少了libaio这个依赖包,只需yum -y install libaio即可      

   5.建立软连接 ln -s /usr/local/mysql/bin/mysql  /usr/local/bin

      mysql -uroot -p (输入之前记录的密码)

      成功登录到mysql界面,但是发现操作任何命令始终提示You must reset your password using ALTER USER statement before executing this statement

      解决方法如下:  

         step 1: set password = password('your new password');

         step 2: alter user 'root'@'localhost' password expire never ;

      step 3: flush privileges;

      退出后重新登录mysql即可,密码为你新设置的密码

    6.授权用户(如果没有该用户则会默认创建用户和密码)

      create database  basename

      grant all privileges on basename.* to "usertest"@'%' identified by '123456'

      这样就创建了用户名为usertest,密码为123456的用户,并且它可以在任何ip地址上登录(设置的是%)

      7.设置启动(/usr/lib/systemd/system,适用于centos7)

        (1)vim nginx.service

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target [Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop [Install]
WantedBy=multi-user.target

   启动,关闭,重启命令:systemctl start nginx  systemctl stop nginx systemctl restart nginx 

       (2)vim mysql.service

[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target [Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/usr/local/mysql/support-files/mysql.server restart
ExecStop=/usr/local/mysql/support-files/mysql.server stop
#PrivateTmp=true [Install]
WantedBy=multi-user.target

  启动,关闭,重启命令:systemctl start mysql systemctl stop mysql systemctl restart mysql      

    (3)vim php-fpm.service

[Unit]
Description=php
After=network.target remote-fs.target nss-lookup.target [Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
ExecReload=/usr/local/php/sbin/php-fpm restart
ExecStop=/usr/local/php/sbin/php-fpm stop [Install]
WantedBy=multi-user.target

  启动,关闭,重启命令:systemctl start php-fpm, systemctl stop php-fpm, systemctl restart php-fpm

    (4)vim redis.service

[Unit]
Description=Redis
After=network.target remote-fs.target nss-lookup.target [Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf
ExecStop=kill -INT `cat /tmp/redis.pid`
User=www
Group=www [Install]
WantedBy=multi-user.target

  启动,关闭,重启命令:systemctl start redis, systemctl stop php-fpm, systemctl restart redis

  编辑了或新增了service文件后需要systemctl daemon-reload一下service才会起作用

centOS 部署服务器(三)的更多相关文章

  1. 为什么使用centos部署服务器

    这个是实验室同学面试的时候,面试官问的一个问题? 为什么选择centos系统,为什么centos系统用的比较多呢? 首先我们说下redhat红帽公司,它是全球最大的linux服务提供商,它的服务是最好 ...

  2. centOS 部署服务器(一)

    接下来我所写的博客仅仅是为了记录我的学习过程,与其他无关. 由于公司换用了亚马逊服务器,用的是它的RDS数据库,所以就没有像以前的项目部署的时候使用mysql,不过要下载安装mysql-proxy,字 ...

  3. centOS 部署服务器(二)

    (1)安装nginx 1.下载地址: http://nginx.org/en/download.html ,并解压到目录下 2.安装依赖包 yum -y install pcre*  yum -y i ...

  4. Tigase XMPP Server在CentOS部署和配置

    Tigase XMPP Server在CentOS部署与配置 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 以下讲述Tigase XMPP Server ...

  5. Centos部署使用Jexus承载asp.net core2 web应用

    一,首先安装本地开发项目用的的 core对应版本运行时: https://www.microsoft.com/net/download/linux-package-manager/centos/run ...

  6. CentOS Linux服务器安全设置

    转自:http://www.osyunwei.com/archives/754.html 引言: 我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关 ...

  7. 【Linux】Centos部署MySQL

    将CentOS部署MySQL需要本地配置环境.本地编译MySQL,耗时较长的情况,优化为编译成型MySQL并打包,推送并按配置部署. 首先需要在一台机器配置好环境,搭个YUM源,并将所需要的包取出备用 ...

  8. 使用saltstack批量部署服务器运行环境事例——批量部署nagios客户端

    之前关于搭建web服务器集群实验的这篇文章http://www.cnblogs.com/cjyfff/p/3553579.html中,关于如何用saltstack批量部署服务器这一点当时没有记录到文章 ...

  9. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

随机推荐

  1. java中String.valueOf(obj)、(String)obj与obj.toString()有什么区别

    方法1:采用 Object.toString()方法 在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用 ...

  2. Codeforces Round #340 (Div. 2) E. XOR and Favorite Number —— 莫队算法

    题目链接:http://codeforces.com/problemset/problem/617/E E. XOR and Favorite Number time limit per test 4 ...

  3. linux系统配置之网络配置(centos)

    CentOS---网络配置详解 一.配置文件详解在RHEL或者CentOS等Redhat系的Linux系统里,跟网络有关的主要设置文件如下: /etc/host.conf         配置域名服务 ...

  4. 确定mapkeeper使用的leverdb库路径

    目前libleveldb的a或so库有三个路径,/usr/lib, /usr/lib/x86_64-linux-gnu , /usr/local/lib 使用 ls -d -1 /usr/lib/*  ...

  5. NOIP2000提高组(RQNOJ314)方格取数

    题目描述 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某人从图的左上角的A 点出发,可以向下行走,也可以向右走,直到到达 ...

  6. docker学习 (三) Windows 10 安装Docker

    Docker CE: 社区版,免费. Docker EE: 企业版,收费. 安装:             Windows 10 Pro 64, 必须开启Hyper-v 下载:Docker for W ...

  7. Java: JavaMail 初试(一)

    前言:以前的我,很喜欢写东西,写一写所想所见所闻所感,但是工作之后,总不能写出让自己满意的文章,突发奇想,能否利用写博客的时机,将其写成类似散文似的博文呢?哈哈... 邮件功能尝试:作为一个小菜鸟,对 ...

  8. C++学习笔记1-使用数组进行vector初始化

    另外,如果是定义的时候,可以直接指定复制.比如:int s[5]={1,2,3,4,5};vector<int> v(s,s+5);就可以啦.

  9. Java中next() 与 nextLine() 区别

    next(): 1.一定要读取到有效字符后才可以结束输入. 2.对输入有效字符之前遇到的空白,next() 方法会自动将其去掉. 3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符. 4. ...

  10. CF-805D

    D. Minimum number of steps time limit per test 1 second memory limit per test 256 megabytes input st ...