• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
珂儿吖
博客园    首页    新随笔    联系   管理    订阅  订阅
Linux上mysql的安装与配置

 

前言

   在我们使用Linux的过程中,可能会使用到数据库。那么,数据库的安装与配置就是我们需要掌握的了~所以呢,这篇博客小编就来给大家唠唠数据库的安装与配置。

    说到编译安装,小编脑海里浮现的第一个方法就是yum源安装(见实验一),毕竟,我们使用最多的安装方法就是这个了~当然,我们还有别的方法,比如二进制安装(见实验二),所以接下来我们就来详细说说这两种方法。

 

实验一 yum源安装MySQL和开启设置服务

  首先,我们来看看使用yum源安装MySQL的优缺点:

  优点:安装方便快捷,安装方式简单

  缺点:太过于死板,定死了各个文件的位置

接下来,我们就开始我们的实验:

1、打开官方网站,上边有各种版本的yum源,找到自己想要的版本设置yum源

官网:https://downloads.mariadb.org/mariadb/repositories/

    如果没有网络的话,就使用光盘里的yum源安装即可,都是一样的~

2、如果我们使用官网上的版本,就要按照官网的提示来配置我们的yum源,接下来,我们就以上图选择的版本来安装。

[root@centos7 ~]# vim /etc/yum.repos.d/centos7.repo [mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.2/centos7-amd64

gpgcheck=0

    编辑好yum源以后,记得使用"yum clean all"清除缓存。

3、我们在此使用光盘中的yum源安装,如果大家有兴趣使用官网的源,可以参照上一步的配置,接下来的安装过程也都是一样的~

yum安装和开启服务

 1 [root@centos7 yum.repos.d]# yum install mariadb-server -y    //安装mariadb
 2 Loaded plugins: fastestmirror, langpacks
 3 Loading mirror speeds from cached hostfile
 4 Resolving Dependencies
 5 --> Running transaction check
 6 ---> Package mariadb-server.x86_64 1:5.5.52-1.el7 will be installed
 7 --> Finished Dependency Resolution
 8 
 9 Dependencies Resolved
10 
11 =====================================================================================================================================
12  Package                             Arch                        Version                             Repository                 Size
13 =====================================================================================================================================
14 Installing:
15  mariadb-server                      x86_64                      1:5.5.52-1.el7                      base                       11 M
16 
17 Transaction Summary
18 =====================================================================================================================================
19 Install  1 Package
20 
21 Total download size: 11 M
22 Installed size: 56 M
23 Downloading packages:
24 Running transaction check
25 Running transaction test
26 Transaction test succeeded
27 Running transaction
28   Installing : 1:mariadb-server-5.5.52-1.el7.x86_64                                                                              1/1 
29   Verifying  : 1:mariadb-server-5.5.52-1.el7.x86_64                                                                              1/1 
30 
31 Installed:
32   mariadb-server.x86_64 1:5.5.52-1.el7                                                                                               
33 
34 Complete!
35 [root@centos7 yum.repos.d]# systemctl start mariadb    //开启服务
36 [root@centos7 yum.repos.d]# ss -nutl        //查看服务端口开启状态
37 Netid State      Recv-Q Send-Q                   Local Address:Port                                  Peer Address:Port              
38 udp   UNCONN     0      0                                    *:5353                                             *:*                  
39 udp   UNCONN     0      0                            127.0.0.1:323                                              *:*                  
40 udp   UNCONN     0      0                                    *:60083                                            *:*                  
41 udp   UNCONN     0      0                                  ::1:323                                             :::*                  
42 tcp   LISTEN     0      50                                   *:3306                                             *:*                  
43 tcp   LISTEN     0      128                                  *:111                                              *:*                  
44 tcp   LISTEN     0      128                                  *:22                                               *:*                  
45 tcp   LISTEN     0      128                          127.0.0.1:631                                              *:*                  
46 tcp   LISTEN     0      100                          127.0.0.1:25                                               *:*                  
47 tcp   LISTEN     0      128                                 :::111                                             :::*                  
48 tcp   LISTEN     0      128                                 :::22                                              :::*                  
49 tcp   LISTEN     0      128                                ::1:631                                             :::*                  
50 tcp   LISTEN     0      100                                ::1:25                                              :::*  

查询端口对应的进程信息 lsof -i :3306 或 netstat -tnlp | grep 3306

开启服务后,会多一个mysql的用户,我们可以查询一下,它的家目录的作用是存放数据库,也就是存放数据库中的每个表:

之所以会生成这个用户,是因为在安装maria包时,执行了一个脚本,所以,如果我们使用二进制安装,则需手动创建用户

rpm -q --scripts mariadb-server 查看这个脚本

    截图只截取了一小部分,主要是为了告诉大家有创建用户的这个过程

4、执行"mysql"命令来运行数据库

    首先我们将用户切换至任一普通用户:su - keer

    然后执行"mysql"命令来运行数据库:

    我们可以看出,我们可以匿名登录,而且即使我们切换成了普通用户,我们运行数据库以后,依然默认是root登录,可以对数据库进行查看以及删除等操作,这样无疑是很不安全的,所以就需要进行我们的下一步操作:

5、运行安全脚本

/usr/bin/mysql_secure_installation

    运行过安全脚本以后,我们在用普通用户来登录试试看:

    我们再来使用root登录一次,命令为:

    mysql -u root -p (passwd) 密码可以直接加在后面,也可以运行后再输入

    我们可以看出,这样就可以登录至数据库了,以后我们还可以创建其他账户来登录,我们的安全机制已经实现!

    实验完成!

实验二:二进制安装mariadb和开启设置服务

注意:安装之前要确保自己系统上没有mariadb服务,有老版本可以先卸掉

1、rpm -qi mariadb 可以查询官网

去官网下载自己想要的版本 http://mariadb.org

在虚拟机中把下好的包上传(rz),并对其进行解包解压缩:

tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/

(不像编译安装一样,解包可以放在任何目录,这个二进制安装必须指定在这个目录)

解压的过程略久,大家耐心等待~

2、去查看文件

cd /usr/local/ 进入解开压缩包的目录,发现mariadb的目录名字不符合要求,所以我们可以直接修改名字,也可以创建一个软连接,创建软连接命令如下:

ln -s mariadb-10.2.8-linux-x86_64/ mysql

3、创建mysql用户(很重要!一定不能忘!)

useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql

4、创建修改配置文件

    进入mysql文件夹,查看support-files文件夹中的内容,发现里面有我们的配置文件,但是配置文件不应该在这个目录下,应该放在/etc/mysql/下,所以,我们要创建这个目录,并把配置文件复制进去,具体的操作如下:

 1 [root@centos7 local]# cd mysql/
 2 [root@centos7 mysql]# ls
 3 bin      COPYING.thirdparty  data               include         lib  mysql-test  README-wsrep  share      support-files
 4 COPYING  CREDITS             EXCEPTIONS-CLIENT  INSTALL-BINARY  man  README.md   scripts       sql-bench
 5 [root@centos7 mysql]# ls support-files/
 6 binary-configure  my-huge.cnf             my-large.cnf   my-small.cnf         mysql-log-rotate  policy     wsrep_notify
 7 magic             my-innodb-heavy-4G.cnf  my-medium.cnf  mysqld_multi.server  mysql.server      wsrep.cnf
 8 [root@centos7 mysql]# mkdir /etc/mysql
 9 mkdir: cannot create directory ‘/etc/mysql’: File exists
10 [root@centos7 mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf

    接下来我们来修改配置文件:

vim /etc/mysql/my.cnf

[mysqld]

datadir = /app/mysqldb          //指定总目录,必须的

innodb_file_per_table = on         //让每一个表数据库都是一个文件,方便管理

skip_name_resolve = on             //忽略名字的反向解析,加快速度

5、执行脚本,创建系统数据库

cd /usr/local/mysql 一定要在这个目录下执行脚本,因为脚本写死了

./scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb 执行脚本

完成后就会在/app/mysqldb/ 生成mysql系统数据库

 

6、把服务脚本复制过去

cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld 设置服务在哪个运行级别

chkconfig --list mysqld

    设置完毕后,我们开启服务:

开启服务失败,我们通过提示的命令来查看失败原因:

systemctl status mysqld.service

journalctl -xe

查看过后发现,是因为我们缺少日志文件,而且这个日志文件须有读写权限,接下来我们就来创建:

7、创建配置文件

1 [root@centos7 mysql]# mkdir /var/log/mariadb/
2 [root@centos7 mysql]# touch /var/log/mariadb/mariadb.log
3 [root@centos7 mysql]# chown mysql /var/log/mariadb/mariadb.log

 

创建完文件以后,我们再来开启一次试试看:

服务开启成功

接下来,我们来设置一下PATH:

1 [root@centos7 mysql]# vim /etc/profile.d/mysql.sh
2 PATH=/usr/local/mysql/bin:$PATH
3 [root@centos7 mysql]# . /etc/profile.d/mysql.sh 

8、运行安全初始化脚本,同上实验,注意路径发生了改变,现在的安全脚本路径为:/usr/local/mysql/bin/mysql_secure_installation

    实验完成~

作者:珂儿吖

出处:http://www.cnblogs.com/keerya/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
大家写文都不容易,希望尊重劳动成果哟~

posted on 2017-10-13 23:03  珂儿吖  阅读(5793)  评论(2)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3