[toc]
一.MYSQL
1.MYSQL简介
MYSQL 是一种开源的关系型数据库产品,具有开放式的架构。MYSQL最初由瑞典MYSQL AB 公司研发,后被SUN 公司收购,最后被Oracle公司收购。
MYSQL 数据库是传统的关系型数据库,其开放式的架构使得用户有更多的选择。当下大多数互联网公司也比较热衷选择开源代码架构的产品。MYSQL 数据库在不断的更新和迭代发展,其功能也越来越强大,性能越爱越好,支持的平台越来越广。在实际工作中,MYSQL也是使用最多的是数据库。
2.MYSQL版本
MYSQL有众多版本,如下所示:
(1)Alpha版本:一般在软件开发公司内部运行,不对外公开。
(2)Beta版本:完成功能开发和所有测试工作后的产品,不会存在较大的功能或者性能Bug。
(3)PC版本:属于正式发布前的一个版本,也是最终测试版本,进一步收集Bug或者不足之处,然后进行修复和完善。
(4)GA版本:软件产品正式发布的版本,也是生产环境使用的版本。
3.MYSQL的安装方式
(1)常见的编译安装方式(适用于MYSQL 5.5前的版本)。
(2)二进制包安装的方式。
(3)RPM包的安装方式。
(4)Cmake方式安装(适用于MYSQL 5.5后的版本)。
二.MYSQL 的安装与部署(本次部署是在Centos8上面部署的,安装包和命令都是成功后的复制品,不存在失败)
1.MYSQL安装包的下载网站
1 | https://downloads.mysql.com/archives/community/ |
在里面下载一个Linux的 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 二进制安装包
2.安装依赖包软件
1 | [root@kejulin ~]# yum -y install zlib-devel gcc-c++ ncurses ncurses-devel libaio libaio-devel libncurses* |
*3.用xshell上传 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz到服务器上*
1 | [root@kejulin ~]# yum -y install lrzsz #安装lrzsz 方便两设备上传下载东西 |
安装好 lrzsz 后即可时使用 rz 命令上传文件到服务器,使用 sz 命令下载文件到客户端
1 | [root@kejulin ~]# rz |
上传完成后可以用 ls 命令来看到 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 二进制安装包
4.安装MYSQL
1 | [root@kejulin ~]# useradd mysql -s /sbin/nologin -M #创建一个mysql的账号,并且定义它不能登录shell,-M参数:不要自动建立用户的主目录(意味这mysql这个用户没有家) |
1 | [root@kejulin mysql]# cd /usr/local/mysql/ |
5.MYSQL初始化
1 | [root@kejulin mysql]# ./bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/mysql/data/ --user=mysql #初始化并且规定服务安装目录、 MYSQL服务数据存储目录、规定使用者是 mysql |
初始化完成后会出现一段密码,把它保存下来,后面登录数据库需要用到它
后面这样一串就是密码: >rqiYpmT9Sh_ (注意:这里别把空格弄进去了,空格在密码也算一个位置的,密码是自动生成的,每台设备都不一样,别抄我的密码进去了,这样都弄错。。。小心我锤爆你狗头doge)
1 | [root@kejulin mysql]# egrep -v "^#|^$" /etc/my.cnf #其实刚刚看到这串鬼东西的时候,我人都傻了,我只学过grep这个命令,egrep这是什么鬼东西,后来从度娘那边查到egrep == grep -e ,秒懂!!!(废话一堆,这句话意思就是,过滤掉 my.cnf 文本里面的注释和空格,剩下的东西全部显现在屏幕上) |
可以看出my.cnf 里面就两行配置信息
那么我们直接进去加点料,定义一些配置信息,让我们装逼装的更加彻底
1 | [root@kejulin mysql]# vim /etc/my.cnf |
进去就会看到这样的 冥场面
1 | # For advice on how to change settings please see |
对于我这个英语小白来说简直绝望
在里面写入这段配置信息,注意不要重复了
1 | [client] |
6.开启MYSQL服务
开启这个服务之后,然后就能看到唯一看得懂的英文 SUCCESS
1 | [root@kejulin mysql]# /etc/init.d/mysqld start |
可以使用这段代码来监听端口
1 | [root@kejulin mysql]# lsof -i :3306 |
7.配置环境变量
1 | [root@kejulin mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile |
8.登录数据库
1 | [root@kejulin ~]# mysql -uroot -p |
9.修改密码
1 | mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567890'; #密码改成1234567890 |
三.结尾
虽然,CSDN 和 百度 等搜索工具里面查到的MYSQL很坑,但是作为一个先行者,我可以很负责任的说能善于用任何工具来解决自己问题对于日后的排错非常有帮助。
遇到的困难都可以自己尝试去解决的。