Linux搭建服务器(包括mysql、Tomcat、JDK)之第一篇 MySQL篇

首先……你要有一个服务器,哈哈

mysql篇:

1.准备工作

     首先下载好linux下mysql的安装包(当然也可以直接使用命令下载,我是先下载的)

             我这里的版本是mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

     然后可以将它放到你想放到的文件夹下(这里我是放到了home下)

     然后打开你存放mysql安装包的文件夹 (命令:cd /home

 

2.解压安装包

    命令:tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz   (后面的mysql 是我下载的版本 ,这里需要注意文件的后缀 是GZ的才可以用 “-zxvf”来解压)

复制解压后的mysql目录

    命令:cp -r mysql-5.6.42-linux-glibc2.12-x86_64 /usr/local/mysql/ (这步操作是将刚刚解压的mysql目录复制到 usr/local/mysql 中)

3.添加用户组和用户

   添加用户组    命令:groupadd mysql

   添加用户mysql 到用户组mysql    命令:useradd -g mysql mysql 

4.安装(安装了奥,前方高能,请自备纸巾)

  -- 打开/usr/local/mysql/文件夹(之前咱们复制到的文件夹) 命令: cd /usr/local/mysql/  

  -- 在/usr/local/mysql/文件夹下创建新的文件夹data/mysql   命令:mkdir ./data/mysql  

  -- 执行命令:./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初始化数据库
这个命令和mysql5.7之前的命令不一样了,之前命令是:bin/mysql_install_db --user=mysql,但是之后的版本已经被mysqld --initialize替代

    ***这里注意:有一些小伙伴执行这句话会报错

        -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录
    解决:执行命令: yum -y install perl perl-devel

Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    解决:执行命令:yum -y install libaio-devel

  -- 复制文件到/etc/init.d/下并改名为mysqld(就是将mysql.server文件 放到了/etc/init.d下命名为mysqld)  命令:cp support-files/mysql.server /etc/init.d/mysqld

 -- 修改mysqld的权限  命令:chmod 755 /etc/init.d/mysqld

 -- 复制my-default.cnf 到/etc/下并改名为my.cnf   命令:cp support-files/my-default.cnf /etc/my.cnf

 -- 修改启动脚本 命令:vim /etc/init.d/mysqld   (这里也可以使用vi /etc/init.d/mysqld ,之所以使用vim是因为有高亮比较容易找到像修改的地方)

 -- 修改(将basedir 和 datadir 修改成如下样式)

   basedir=/usr/local/mysql/
   datadir=/usr/local/mysql/data/mysql

 -- 启动服务  命令:service mysqld start

 -- 测试一下连接  命令:./mysql/bin/mysql -uroot  

    ***这里你会发现报错了,兄弟莫慌,待老夫细细道来

 -- 在这里我们为其添加一个环境变量 ,编辑 /etc/profile

    命令:vim /etc/proflie  (然后发现里面真干净……反正我里面是啥也没有)

    然后添加 环境变量   PATH=$PATH:/usr/local/mysql/bin

   

   然后保存退出(不会保存退出的可以去百度,我也会在文章最后写出来方法)

-- 然后就可以啦,接下来我们启动服务

    启动服务的命令:service mysqld start   

      ***这里启动服务,有的小伙伴会报这样的一个错误

   Starting MySQL.201231 09:35:46 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/var/lib/mysql/VM-0-3-centos.pid).   --加这个的原因,仅仅是为了小伙伴们搜索问题的时候能搜索到这篇博客

   这里提供一下解决办法

         原因呢 是因为没有这个文件,所以我们需要创建这个文件,并进行授权

            命令一:mkdir /var/log/mariadb/ 

            命令二:touch /var/log/mariadb/mariadb.log 

            命令三:chown -R mysql:mysql /var/log/mariadb/ 

                    关于命令三 需要解释一下,是将这个路径开放给mysql组下的mysql用户     chown -R  用户:用户组  这里要根据自己的设置进行修改哦

      修改完之后我们再次启动服务

            然后有的小伙伴可能还会遇到下面的错误

         

           Starting MySQL.201231 09:39:25 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
              ERROR! The server quit without updating PID file (/var/lib/mysql/VM-0-3-centos.pid).
        这个问题饮用一篇大佬的博客 :https://blog.csdn.net/qq_34531925/article/details/79556850

      然后我们再启动服务就可以啦。

    关闭服务的命令:service mysqld stop

    查看运行状态的命令:service mysqld status

-- 然后我们登录下我们安装的mysql   (默认的用户名是 root 密码是空的 <就是直接回车>)

   执行命令: mysql -u root -p   

 

  这里我们直接敲回车就可以啦

  出现这个就登录成功啦

***(这里需要注意下 ,有的小伙伴执行mysql -u root -p 的时候 报错咯

  需要执行 命令:source /etc/profile  这个命令是让修改的proflie立刻生效的)

 -- 登录成功之后,我们来创建一个用户

  在mysql命令行下 ,我们输入 

GRANT ALL PRIVILEGES ON *.* TO 'smile'@'%' IDENTIFIED BY 'smile' WITH GRANT OPTION;

这里我们解析一下这个语句:

     1)第一个“smile”呢,是我们的用户名,你自己爱设啥设啥;

     2)后面的“%”呢 ,代表所有的主机都可以访问;

     3)  第二个“smile”呢,是密码,也是你自己爱设啥设啥

 然后执行命令:  flush privileges;  使刚才的语句立即生效

-- 接下来我们就可以查询一下 我们新建的用户了

   在mysql下执行 语句:

    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

 我们就发现已经可以看见 自己的用户了。

*********************************(这里一定要注意下,我们还需要执行一步操作,否则你根本就没办法登录你自己新建的用户

  在mysql下执行 语句:  Delete FROM user Where User='' and Host='localhost';

    这个语句的意义在于:我们有一个用户名为空的账户,mysql会先匹配它,然后就一直提示你密码错误,删掉这个匿名用户,      然后执行   语句:flush privileges;

    实不相瞒,这个问题困扰了我好久

) 

 -- 这样我们就可以登录自己的用户了

   执行 命令(这里的“smile”是你自己设置用户名哦):mysql -u smile -p

 

  这样我们的mysql 就安装完成啦。

5.连接到可视化工具,这里使用的是Navicat 

   首先,我们要知道自己的 公网IP地址 然后 我们连接一哈 ,发现并连接不上,这是为啥呢??莫慌,待老夫细细道来

   问题可能出现的原因:

    1)防火墙没有添加3306端口   

              执行命令:/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

    2)  防火墙没有关闭

        执行命令:  systemctl stop firewalld

        执行命令:  systemctl disable firewalld

        开机不再开启防火墙命令:chkconfig iptables off

    3)服务器上登录mysql,查看是否有地址限制  (这一步,我们已经做过了,就是之前配置的远程链接)

    4)  就是你的服务器就没开通3306端口

          我这里使用的是阿里云的服务器

         首先登录自己的阿里云,点开自己的实例

         在最右边有一个“管理

 

   点开“管理”之后,在左边有这样的一条菜单

 

   我们选择“本实例安全组”,然后在右边我们找到“配置规则

 

   我们点开“配置规则”之后,发现就没有3306端口(我这个是已经添加好的)

  既然没有“3306端口”,那么我们点击上面的添加安全组规则

 

  我们在“端口范围”中输入“3306/3306”,然后在“授权对象”中,输入“0.0.0.0/0”,最后点击确定

 

然后我们在打开navicat,测试一下连接,发现可以了。

 

至此,我们的mysql算是安装完成了!!!!!!可喜可贺,今晚吃鸡!!!!!

-----------------------------------------   I`am Joshua,may god bless you

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值