开源数据库MySQL DBA运维实战-部署

开源数据库MySQL DBA运维实战-部署

  • 一.前言
    • 1.数据库能做什么?
    • 2.数据库由来
    • 3.数据库-系统结构
      • 3.1数据库系统 DBS
      • 3.2SQL语言(结构化查询语言)
      • 3.3数据访问技术
    • 4.版本
  • 二.部署
    • 1.官网地址
    • 2.RPM包安装MySQL
      • 2.1设置内存
      • 2.2安装Mysql服务器
    • 3.源码包安装MySQL
      • 3.1特点
      • 3.2准备编译环境
      • 3.3安装mysql
      • 3.4初始化
      • 3.5开机启动MySQL

一.前言

1.数据库能做什么?

  • 存储的数据,包含用户的账号,密码,级别,存款,余额,等级,购物记录,头像本地路径,视频文件路径。
  • 只要是信息,就一定在数据库里。

2.数据库由来

  • 1.人工管理阶段(过去)-账本
  • 2.文件系统阶段(近代)-execl
  • 3.数据库系统管理阶段(目前)-mysql

3.数据库-系统结构

3.1数据库系统 DBS

  • A.数据库管理系统(DataBase Management System,DBMS)
    SQL(RDS关系型数据库):
    1.ORACLE
    2.Oracle MySQL
    3.DB2(IBM)
    4.SQL-server(MS)
    5.Mysql
    6.Mariadb
    7.Percona server(taobao)
  • B.DBA:工程师

3.2SQL语言(结构化查询语言)

  • SQL(Structured Query Language 即结构化查询语言)
  • A. DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程、函数, CREATE DROP ALTER //开发人员
  • B. DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE //开发人员
  • C. DQL语句 数据库查询语言: 查询数据 SELECT
  • D. DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

3.3数据访问技术

  • A.ODBC PHP <.php>
  • B.JDBC JAVA <.jsp>
  • C.ASP.NET

4.版本

  • Mysql5.7

二.部署

1.官网地址

  • www.mysql.com
  • www.oracle.com

2.RPM包安装MySQL

2.1设置内存

  • 还原快照
  • 调整2G内存
  • 请关闭防火墙和selinux
#1.立刻停止防火墙

[root@localhost ~]# systemctl stop firewalld

#2.开机禁用防火墙

[root@localhost ~]# systemctl disable firewalld

#3.立刻停止selinux

[root@localhost ~]# setenforce 0

#4.开机禁用selinux

[root@localhost ~]# vim /etc/selinux/config
	SELINUX=disabled

2.2安装Mysql服务器

#1.访问国内mysql镜像站(国外官网较慢)
#中国科学技术大学开源软件镜像-http://mirrors.ustc.edu.cn/

#2.下载软件包

[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-server-5.7.29-1.el7.x86_64.rpm
[root@localhost ~]#wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-client-5.7.29-1.el7.x86_64.rpm
[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-common-5.7.29-1.el7.x86_64.rpm
[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-libs-5.7.29-1.el7.x86_64.rpm

#3.安装相关软件(三个相关软件)

[root@localhost ~]# yum install -y net-tools.x86_64 libaio.x86_64    perl.x86_64

#4.安装Mysql服务器

[root@localhost ~]# yum install -y mysql-community*   #此时可能会产生报错信息
[root@localhost ~]# yum remove -y mariadb-libs.x86_64
[root@localhost ~]# yum install -y mysql-community*   #安装完毕的提示

#5.启动Mysql服务器

[root@localhost ~]#systemctl start mysqld
[root@localhost ~]#systemctl enable mysqld
[root@localhost ~]#systemctl status mysqld	

#6.查询Mysql服务器默认密码(没有查到密码的原因,是因为没有启动成功。)

[root@localhost ~]# grep 'password' /var/log/mysqld.log   #注意冒号和空格的后面,全都是密码

#7.修改Mysql服务器密码

[root@localhost ~]# mysqladmin   -uroot    -p'es,W;ya(K1Th'    password    'Aa123.123'

#8.登录Mysql系统

[root@localhost ~]# mysql -uroot -p'Aa123.123'

#9.查看默认数据库

mysql> show databases

#10.关机快照

3.源码包安装MySQL

3.1特点

  • 源码安装
    与二进制(RPM)发行版本相比,如果我们选择了通过源代码进行安装,那么在安装过程中我们能够对MySQL
    所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:
    a) 针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;
    b) 根据不同的软件平台环境调整相关的编译参数;
    c) 针对我们特定应用场景选择需要什么组件不需要什么组件;
    d) 根据我们的所需要存储的数据内容选择只安装我们需要的字符集;
    e) 同一台主机上面可以安装多个MySQL;
    f)等等其他一些可以根据特定应用场景所作的各种调整。

  • 在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:
    a) 对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
    b) 对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;
    c) 还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长;

3.2准备编译环境

  • 编译软件
[root@localhost ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
  • 从本地上传 boost_1_59_0.tar.gz

3.3安装mysql

#1.准备源码包

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql
[root@localhost ~]# tar xvf mysql-5.7.19.tar.gz   #本地上传所得
[root@localhost ~]# cd mysql-5.7.19
[root@mysql3 mysql-5.7.19]# pwd
/root/mysql-5.7.19
[root@mysql3 mysql-5.7.19]# mv ../boost_1_59_0.tar.gz  .   #采用相对路径移动
[root@mysql3 mysql-5.7.19]# tar xf  boost_1_59_0.tar.gz   #注意包的位置

#2.配置

[[email protected] ~]# cmake . \
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

#常见错误
-DWITH_BOOST=boost_1_59_0  
如果没有提前准备,可以使用下面的参数自己装。
-DDOWNLOAD_BOOST=1
-DWITH_READLINE=1 \  5.6被移除
如果cmake失败,请将CMakeCache.txt缓存移除

#3.编译

[root@mysql3 mysql-5.7.19]# make   (大约需要1个小时)

#4.安装

[root@mysql3 mysql-5.7.19]# make install

3.4初始化

[root@mysql3 mysql-5.7.19]# cd /usr/local/mysql   #安装位置
[root@localhost mysql]# mkdir mysql-files
[root@localhost mysql]# chown -R mysql.mysql /usr/local/mysql   #注意目录名称
[root@localhost mysql]#  /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#最后会生产临时密码,在屏幕上。保存临时密码。
[root@localhost mysql]#  /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

#建立M有SQL配置文件my.cnf,先备份原有配置文件
[root@localhost mysql]# mv /etc/my.cnf  ~
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

3.5开机启动MySQL

[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld   #添加到系统启动文件目录
[root@localhost mysql]# chkconfig --add mysqld   #添加mysql服务等同于systemctl enable mysqld
[root@localhost mysql]# chkconfig mysqld on   #开机自动启动mysql服务
[root@localhost mysql]# service mysqld start   #等同于systemctl start mysqld
[root@localhost mysql]# ps aux |grep mysqld

#mysql -u root -p '密码'  登陆有问题,不能直接用mysql命令

[root@localhost mysql]# /usr/local/mysql/bin/mysql -u root -p'x/dwiQ2

#配置新密码

[root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -u root -p 'x/dwiQ2

#进入数据库

[root@localhost mysql]# /usr/local/mysql/bin/mysql -uroot -p'Aa123.123'
mysql> show databases   #看到库即可

你可能感兴趣的:(开源数据库MySQL,DBA运维实战,linux,mysql,sql,数据库)