博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL二进制安装
阅读量:6159 次
发布时间:2019-06-21

本文共 3671 字,大约阅读时间需要 12 分钟。

Centos7:二进制方法安装Mysql数据库:

###安装前提:确保本机没有安装mariadb的服务,也不应该含有3306端口;
# 1 下载安装包

在httpd://downloads.mariadb.org网页下载二进制安装包"mariadb-10.2.12-linux-x86_64.tar.gz"

# > 2 数据库以mysql这个用户运行的,所以要创建账号

useradd -r mysql -s /sbin/nologin

3 解压"mariadb-10.2.12-linux-x86_64.tar.gz"文件,由于二进制的包是编译完成的,指定了路径为/usr/local;所以要解压到此处

tar zxvf mariadb-10.2.12-linux-x86_64.tar.gz -C /usr/local

4 解压完成后的名称当初编译的时候名为mysql所以要创建一个软连接,指向mysql

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

5 解压完成后,当中的文件没有指定所有者所有组,建议将所有者域所有组改为mysql

chown -R mysql.mysql mysql

6 将二进制程序的路径放入到PATH中,方便在全局使用

echo 'PATH=/usr/local/mysql/bin:$PATH'  > /etc/profile.d/mysql.sh    source /etc/profile.d/mysql.sh

7 准备存放数据库的文件夹,就是指存放大量数据文件的位置,建议将存放操作系统的空间与存放数据的空间分离,而且建议使用逻辑卷

1 虚拟机中添加了一块儿大小为20G的磁盘    2 分区磁盘并且修改为LVM      fdisk /dev/sdb        n:开始分区        p:默认主分区        大小统统默认直接回车就可以,根据实际情况定义        t:修改分区类型        8e:修改为LVM版        w :保存退出    3 pvcreate /dev/sdb1                        #创建pv      vgcreate vg0-mysql /dev/sdb1 -s 16M       #创建vg并命名为vg0-mysql而且pe大小为16M      lvcreate -n lv_mysqldata -l 100%FREE vg0-mysql #创建lv并命名为lv_mysqldata并且使用vg0-mysql上的所有剩余空间    4 mkfs.xfs /dev/vg0-mysql/lv_mysqldata      #给新创建的lv创建xfs的文件系统    5 mkdir /data/mysqldb                                 #创建给逻辑卷挂载的目录    6 blkid                                                          #查找出逻辑卷的uuid    7 vim /etc/fstab                                           #在文件中添加如下内容,注意UUID是不同的,实验环境是这个      UUID=784ecb9c-de51-4140-9676-a0161ba205c1 /data/mysqldb           xfs     defaults        0 0        8 mount -a                                  #执行文件中没有挂载的那一行,永久挂载

8 要将创建的目录的所有者和所属组改为mysql,因为是为了给mysql做存放数据用的目录,所以必然要拥有权限

chown -R mysql.mysql /data/mysqldb

9 基于安全考虑,我们可以将存放数据库的目录权限改为770,也就是说除了mysql其他的用户都进不去

chmod 770 /data/mysqldb

10 要在/usr/local/mysql/下执行scripts/mysql_install_db这个脚本进行安装数据库,并且要执行datadir也就是数据库的存放目录以及运行用户--user;

出现OK字样则证明运行成功,信息中有一条执行./bin/mysql_secure_installation的指令,这是安全脚本,默认安装完数据库是不存在口令的,所以可以运行一下此脚本;     1 cd /usr/local/mysql    2 scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql

11 如果没有什么安全限制的话则就可以启动服务了,但注意,此时默认的配置文件是/etc/my.cnf,当中的数据库路径域socket路径都是默认指定的,但当中的配置也略少,所以可以在/usr/local/mysql/support-files下修改特定环境的配置文件

my-small.cnf:小环境使用    my-medium.cnf:稍小环境使用    my-large.cnf:大的环境使用    my-huge.cnf:巨大的环境使用(其实巨大也没多大1G-2G都算巨大了= =)每一个下面都有信息,实验当中使用此配置文件;    my-innodb-heavy-4G.cnf:4G内存的环境下使用

12 将此配置文件复制到/etc/下并且命名为my.cnf

cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf    **13 复制过去之后进行编辑修改,当中存在[mysqld]与[client]两个语句块儿,在[mysqld]下添加一行用于修改数据库路径:datadir = /data/mysqldb**    **14 在/usr/local/mysql/support-files下还存在一个用于服务启动停止的脚本,名为mysql.server,将此文件复制到/etc/init.d/下命名为mysqld方便全局使用**        cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld        并且添加到chkconfig中开机自启动:chkconfig --add mysqld

15 启动服务

service mysqld start注意:当服务启动后,在/tmp/下会生成一个粉色的mysql.sock文件,当服务停止的时候,文件也会消失,因为在配置文件当中的定义就是/tmp/mysql.sock

16 此时服务已经启动,但是默认是没有密码的,所以说任何人都可以登录数据库并且进行一系列的操作,在数据库中默认会出现几个表,这几个表的存放位置在/data/mysqldb下;

mysql              #此命令可直接登录进数据库    show databases;    #这是sql语句,在数据库中执行可查看当时数据库中拥有的表;    drop database test; #删除名为test的数据库,删除后在/data/mysqldb下就会消失;

17 进入数据库查看存在哪些不安全的用户;

mysql                                           #连接进数据库        select user,host from mysql.user;               #查看mysql库中的user表下的user和host字段信息;

18 在Linux环境下运行mysql_secure_installation脚本加固安全性;

mysql_secure_installation         #按照脚本的提示一步一步往下走即可

19 当修改完成后再使用空口令就没有办法连接了,所以要使用以下方法连接

mysql -uroot -pmysql                       #-u:指定登录用户                                                               #-p:指定登录密码,mysql是我刚刚执行那个脚本的时候设置的密码

Centos6上面需要二进制安装的话与上述操作一模一样,就是包不一样,包名为"mariadb-5.5.59-linux-x86_64.tar"

转载于:https://blog.51cto.com/kaikai0720/2106075

你可能感兴趣的文章
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
深入python的set和dict
查看>>
Android JSON数据解析
查看>>
DEV实现日期时间效果
查看>>
java注解【转】
查看>>
centos 下安装g++
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
jquery用法大全
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>