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

数据库MySQL部署

一、数据库-系统结构

1. 数据库系统 DBS

(1)、数据库管理系统:

SQL(RDS关系型数据库)

         ORACLE

         Oracle MySQL

         DB2(IBM)

         SQL-server(MS)

         Mysql

         MariaDB

         Percona  server(taobao)

(2)、DBA:工程师

2. SQL语言(结构化查询语言):

(1)、 DDL语句(数据库定义语言):创建库、表CREATE,删除DROP,增加ALTER ;

(2)、 DML语句(数据库操纵语言):插入数据INSERT,删除数据DELETE,更新数据UPDATE;

(3)、DQL语句(数据库查询语言):查询数据 SELECT ;

(4)、DCL语句(数据库控制语言):控制用户的访问权限GRANT、REVOKE。

二、部署

1、官网地址:

           www.mysql.com

           www.oracle.com

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

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

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

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

2、RPM安装

(1)、环境

还原快照

       调整2G以上内存

       立刻停止防火墙systemctl  stop  firewalld

       开机禁用防火墙systemctl  disable  firewalld

       立刻停止selinux  setenforce  0

       开机禁用selinux   vim    /etc/selinux/config

                                 SELINUX=disabled

(2)、官网下载或国内MySQL镜像站下载

https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

中国科学技术大学开源软件镜像:http://mirrors.ustc.edu.cn/

(3)、下载软件包

将下面4个包都下载下来。

①、wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-server-5.7.29-1.el7.x86_64.rpm

②、wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-client-5.7.29-1.el7.x86_64.rpm

③、wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-common-5.7.29-1.el7.x86_64.rpm

④、wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-libs-5.7.29-1.el7.x86_64.rpm

(4)、安装三个相关软件

yum  install  -y   net-tools.x86_64    libaio.x86_64    perl.x86_64

(5)、安装Mysql服务器

yum install -y mysql-community*

这里会出现错误,系统里自带的有mariadb,他和mysql功能一样,会发生冲突。

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

解决方法:

卸载冲突的软件包,再安装

yum remove -y mariadb-libs.x86_64

yum install -y mysql-community*

(6)、安裝完成

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

(7)、启动Mysql服务器

①、systemctl  start  mysqld

②、systemctl  enable  mysqld

③、systemctl  status  mysqld

(8)、查询Mysql服务器默认密码

没有查到密码的原因,是因为没有启动成功。

grep   'password'   /var/log/mysqld.log

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

(9)、修改Mysql服务器密码

mysqladmin   -uroot  -p'9j5oQrvUiq+U' password    '[email protected]'

ps:旧密码的前面与p之间没有空格,新密码与password之间有空格~

(10)、登录Mysql系统

mysql      -uroot      -p'[email protected]'   //p与密码之间没有空格

(11)、查到默认数据库

show databases;  //一定要加”

(12)、关机快照

3、源码包安装

(1)、源码包的特点

源码安装与二进制(RPM)发行版本相比,如果我们选择了通过源代码进行安装,那么在安装过程中我们能够对MySQL所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:

①、针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;

②、根据不同的软件平台环境调整相关的编译参数;

③、针对我们特定应用场景选择需要什么组件不需要什么组件;

④、根据我们的所需要存储的数据内容选择只安装我们需要的字符集;

⑤、同一台主机上面可以安装多个MySQL;

⑥、等等其他一些可以根据特定应用场景所作的各种调整。

 

在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:

①、对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;

②、对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;

③、还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长;

(2)、准备编译环境

①、yum  -y  install  ncurses  ncurses-devel  openssl-devel  bison  gcc  gcc-c++  make  cmake     //编译软件

②、内存硬盘空间

③、下载两个安装包:mysql-5.7.19.tar.gz和boost_1_59_0.tar.gz。 

(3)、安装mysql

① 准备源码包

groupadd mysql

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

tar xvf mysql-5.7.19.tar.gz

cd mysql-5.7.19

mv ../boost_1_59_0.tar.gz  .

tar xf  boost_1_59_0.tar.gz

//注意包的位置

② 配置

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

ps:在每句话后面添加\是为了方便观看,也可以不添加\ ,每句之间用空格隔开~

③ 编译

make

④ 安装

make install

(4)、初始化

 cd /usr/local/mysql      //安装位置

 mkdir mysql-files

 chown -R mysql.mysql  /usr/local/mysql     //注意目录名称

 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data        //会生产临时密码,在屏幕上。

//保存临时密码。

                                   // 临时密码

 /usr/local/mysql/bin/mysql_  ssl  _rsa_  setup   --datadir=/usr/local/mysql/data     //建立MySQL配置文件my.cnf

        //备份原有配置文件

mv /etc/my.cnf  ~

 vim /etc/my.cnf

 vim /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

(5)、开机启动MySQL

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

 chkconfig --add mysqld      //添加mysql服务

 chkconfig mysqld on        //开机自动启动mysql服务

 service mysqld start    //这是centos老版本的命令,等同于systemctl start mysqld

 ps aux |grep mysqld

/usr/local/mysql/bin/mysql -u root -p‘临时密码'   //不要忘了配置新密码。

 /usr/local/mysql/bin/mysqladmin -u root -p '临时密码' password ' [email protected]'

        show databases;   //看到库即可。