前言
关系型数据库是指采用了关系模型来组织数据的数据库,关系模型是指二维表格模型,一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织,最典型的数据结构是表。它易于维护,使用方便,支持复杂操作,安全,具有事务处理功能,但不擅长处理大数据,效率低。当前主流的关系型数据库有Oracle、Mysql、SQL SERVER和DB2等。
Mysql相对于Oracle的优势:
1、MySQL是开源免费的轻量型数据库,Oracle是闭源收费的重量型数据库
2、在语法方面MySQL较为灵活,Oracle较为严格,如单引号和分页处理等方面
3、MySQL有自动增长的数据类型,插入记录会自动获取,而oracle没有
4、Oracle占用的内存资源比mysql多的多
5、mysql可低成本水平扩展,近乎无限水平扩展,但是Oracle不支持
Mysql安装
1、环境准备
mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
CentOS 7.X
安装目录:/opt/mysql-5.7.21
数据目录 /opt/mysql/data
日志目录 /opt/mysql/log
2、上传软件到/opt,解压
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql-5.7.21 #改名
3、添加mysql用户及组
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql #仅用于运行mysql服务,禁止登录
4、改变mysql安装目录所属
cd mysql-5.7.21/
chown -R mysql:mysql ./
5、建立数据和日志目录
mkdir -p mysql/data mysql/log
chown -R mysql:mysql /opt/mysql #修改该数据目录的所属
温馨提示:出现问题多到这个目录下查看日志文件,可以看到很详细很详细的那种
6、配置参数
cd mysql-5.7.21/
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql-5.7.21 --datadir=/opt/mysql/data
注:在5.7及以上版本不再使用mysql_install_db 方式安装,一般使用mysqld --initialize。初始化时若加上 –initial-insecure,则会创建空密码的账号
此处注意在执行该配置的最后处显示生成了数据库的临时密码,这里是**?fBH7XrAGR_/**,在日志文件中也能查看到
7、生成证书
./bin/mysql_ssl_rsa_setup --datadir=/opt/mysql/data
8、修改系统配置文件
vim /etc/my.cnf
9、开启binlog
vim /etc/my.cnf
在[mysqld]内添加
log-bin=/opt/mysql/mysql-bin #自动配置打开logbin,自动设置为指定的文件加.index
server-id=5255 #随机指定一个没有用过的,不能冲突,如果只有一台就随便指定
binlog作用:binlog是二进制日志文件,用于记录mysql的数据更新或者是潜在更新,它有复制和恢复等功能,主要用于主从复制和增量恢复等。其中有三个参数,分别是log_bin(表示启动binlog)、log_bin_index(指定二进制索引文件)和binlog_format(二进制日志格式)
10、启动mysql
cp /opt/mysql-5.7.21/support-files/mysql.server /etc/init.d/mysql #复制启动脚本
service mysql start #启动Mysql
**问题:**mysqld_safe error: log-error set to ‘/opt/mysql/log/mysqld.log’, however file don’t exists. Create writable for user ‘mysql’.
**解决:**该文件未创建,到该目录下创建该日志文件
**问题:**Starting MySQL…The server quit without updating PID file [FAILED]sql/data/localhost.localdomain.pid).然后去/mysql/log下查看日志文件,发现第一个错误为[ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
**解决:**在网上查大量方法均尝试过,但是都没有成功,但是在重新初始化一下数据库后,问题消失,能够启动mysql,可能是当时初始化弄错了
然后使用 service mysql start 再次启动mysql
11、配置开机启动(可根据需要配置)
chkconfig --add mysql #加入
chkconfig --list mysql #检查
12、配置环境变量
vim /etc/profile
export PATH=$PATH:/opt/mysql-5.7.21/bin
source /etc/profile #使立即生效
13、登录到mysql
mysql -uroot -p #然后输入密码
14、修改mysql密码
alter user 'root'@'localhost' identified by '4r5tYU';
15、验证,使用新的密码登录mysql
ps aux | grep mysql #验证进程是否开启
mysql -u root -p4r5tYU #使用新密码登录
16、测试binlog是否开启
mysql>show variables like '%log_bin%'
出现如上所示 ,表示logbin正常开启
前往/opt/mysql这个目录,能够看到相应的文件
17、一些简单的数据库操作(注意要加分号)
查找所有数据库 show databases;
选择当前数据库 use 数据库名;
查找数据库中的表 show tables;
数据表结构 describe 表名;
查找表中所有数据 select * from 表名;
建立数据库 create databse 库名
(注:部分资料来源于网络,如有侵权,请联系作者)