开源数据库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
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功能一样,会发生冲突。
解决方法:
卸载冲突的软件包,再安装
yum remove -y mariadb-libs.x86_64
yum install -y mysql-community*
(6)、安裝完成
(7)、启动Mysql服务器
①、systemctl start mysqld
②、systemctl enable mysqld
③、systemctl status mysqld
(8)、查询Mysql服务器默认密码
没有查到密码的原因,是因为没有启动成功。
grep 'password' /var/log/mysqld.log
(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)、关机快照
(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; //看到库即可。