MySQL数据库的概述以及安装
- 一、MySQL数据库简介
- 二、安装Mysql-5.6.36版本
- (1)准备工作
- (2)源码编译及安装
一、MySQL数据库简介
- MySQL是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大的库中,这样就增加了速度并且提高了灵活性
- MySQL所使用的SQL语言是用于访问数据库最常用的标准化语言
(包括 SQL server和Oracle都有自己专门的SQL语言,但是格式都是差不多的,因为都是关系型数据库,都有着固定的格式 库——表——数据)
- MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有的成本低,尤其是开放源码这一特点
(也就是开源软件,完全免费的软件)
,一般的中小型网站的开发都选择MySQL作为网站数据库(后期如果需要扩大,可以配合redis数据库和Mysql结合)
- MySQL定义:是一个真正的多线程、多用户的SQL数据库服务,拥有高性能、高可靠性、易于使用的特性
- 使用的端口号默认是:tcp 3306
二、安装Mysql-5.6.36版本
- 编译安装mysql数据库的优点:确保功能的完整性、可定制性
(因为源代码编译安装是可以指定添加的功能的)
- 步骤:
(1)准备工作
- 为了避免端口冲突、程序冲突等问题,得先确定本机没有使用rpm的方式安装mysql-server和mysql的软件包
[root@mysql ~]#rpm -q mysql-server mysql
- 使用yum安装ncurses-devel 插件包,如果没有本地yum源,可以先写一份本地yum源
- 挂载光盘镜像
[root@mysql ~]#mount /dev/cdrom /media/cdrom
[root@mysql ~]#yum -y install ncurses-devel
- 本地yum源
- MySQL 5版本的都需要使用cmake来进行编译,所以还得上传软件包cmake,然后进行解压、配置、安装
(过程需要五六分钟)
[root@mysql~]#tar zxvf cmake-2.8.6.tar.gz
[root@mysql cmake- 2.8.6]#cd cmake-2.8.6/
[root@mysql cmake- 2.8.6]#./configure
[root@mysql cmake- 2.8.6]#gmake && gmake install
至此,所有准备工作完成
(2)源码编译及安装
- 创建运行用户和组,加强数据库服务的权限控制
[root@mysql ~]#groupadd mysql
[root@mysql ~]#useradd -M -s /sbin/nologin mysql -g mysql
创建mysql用户并且加入创建了mysql组,-M不创建宿组目录 ,-s 指定shell /sbin/nologin不允许登录系统
- 上传软件包,并且解包,
(可以使用xshell上传)
配置,安装。
[root@mysql ~]#tar zxvf mysql-5.6.36.tar.gz -C /usr/src
[root@mysql mysql-5.6.36]#cd /usr/src/mysql-5.6.36/
- 配置的mysql功能有点多,直接复制下面这个就可以,要记得切换到MySQL软件包解压的目录进行配置和安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
配置的mysql的功能的作用:
-DCMAKE_INSTALL_PREFIX :指定安装位置
-DSYSCONFDIR: 初始化参数文件的位置
-DDEFAULT_CHARSET: 默认的字符集编码
-DDEFAULT_COLLATION: 默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS:额外安装的其他字符集
可以像这样写,配置完成后自动安装(看自己的电脑性能,好点的二十分钟,配置差点的估计得四十分钟)
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && make && make install
- 安装完成
- 安装后得对数据库的目录权限、主配置文件做一些调整
递归改变mysql的主目录的属主和属组用户为mysql,删除默认配置文件,在主目录里重新拷贝一份
[root@mysql ~]#chown -R mysql:mysql /usr/local/mysql/
[root@mysql ~]#rm -rf /etc/my.cnf
[root@mysql ~]#cd /usr/local/mysql
[root@mysql mysql]#cp support-files/my-default.cnf /etc/my.cnf
- 初始化数据库系统
(以用户mysql的身份执行初始化脚本)
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
- 设置环境变量
(方便在任何目录下都能使用mysql命令)
[root@mysql mysql]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@mysql mysql]#. /etc/profile
./etc/profile是立即生效
- 添加为系统服务
(方便通过systemctl系统命令进行管理)
[root@mysql ~]#cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
`(复制服务脚本并重命名为mysqld.sh)`
[root@mysql ~]#chmod +x /usr/local/mysql/bin/mysqld.sh
` (添加可执行权限)`
- 创建mysql系统服务的配置文件
[root@mysql mysql]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=Mysql Server
After=network.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFILE=/usr/local/mysql/data/www.pid
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop
[Install]
WantedBy=multi-user.target
`保存退出`
- 这时候已经可以通过系统命令来管理了,可以查看端口号,发现也已经启动
至此,mysql的安装已经完成,在安装配置的时候要在mysql的解压目录