Linux高级管理:第三章 MySQL数据库系统的安装

1.准备工作

(1〉为了避免发生端口冲突.程序冲突等现象,建议先查询MySQL软件的安装情况.确认没有使用以RPM方式安装的mysql-server、mysql软件包,否则建议将其卸载。

挂载

安装光盘自带的 ncurses-devel 包

复制代码
[root@Linux01 ~]# rpm -ivh /run/media/root/CentOS\ 7\ x86_64//Packages/ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm 

创建一个目录

复制代码
[root@Linux01 ~]# mkdir mysql

[root@Linux01 ~]# cd mysql/
[root@Linux01 mysql]# rpm -ivh /mnt/Packages/ftp-0.17-67.el7.x86_64.rpm

从FTP拿着两个安装包

MySQL,5.X系列版本需要cmake编译安装,所以先安装cmake包。

复制代码
[root@Linux01]# tar zxf cmake-2.8.6.tar.gz

[ root@Linux01]#cd cmake-2.8.6

[root@Linux01 cmake-2.8.6]# ./configure

[root@Linux01 cmake-2.8.6] gmake 
[root@Linux01 cmake-2.8.6]gmake install

源码编译及安装

1,创建运行用户

为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登录到系统,可以不创建宿主文件夹。

复制代码
[root@Linux01 cmake-2.8.6]# cd ..

[root@Linux01 mysql]# groupadd mysql
[root@Linux01 mysql]# useradd -M -s /sbin/nologin mysql -g mysql 

解包

将下载的mysql源码包解压,释放到/usr / src目录下,并切换到展开后的源码目录。

复制代码
[root@Linux01 mysql]# tar zxvf mysql-5.6.36.tar.gz -C /usr/src
[root@Linux01 mysql]# cd /usr/src/mysql-5.6.36/

配置

复制代码
[root@Linux01 mysql-5.6.36]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

编译并安装

复制代码
[ rootewww mysql-5.6.36]# make
[rootewww mysql-5.6.36]# make install

安装后的其他调整

1}对数据库目录进行权限设置

复制代码
[root@Linux01 mysql-5.6.36]# chown -R mysql:mysql /usr/local/myaql

建立配置文件

CentOS7系统下默认支持MariaDB数据库,因此系统默认的/etc/my.cnf 配置文件中是 MariaDB的配置文件。而在MySQL源码目录中的support-files文件夹下,提供了MySQL数据库默认的样本配置文件 my-default , cnf 文件.在启动MySQL数据库服务之前,需要先将原有的my .cnf 文件替换为MySQI提供的配置文件内容。

复制代码
[root@Linux01 mysql-5.6.36]# rm -rf /etc/my.cnf
                              //将原来etc 文件夹下的my.cnf 文件删除

[root@Linux01 mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf

修改配置文件

复制代码
[root@Linux01 mysql-5.6.36]# vim /etc/my.cnf

[client]
default-character-set=utf8

[mysqld]
character_set_server=utf8

初始化数据库

为了能够正常使用MySQL 数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_instail_db,指定数据存放目录等。

复制代码
[root@Linux01 mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

设置环境变量

为了方便在任何目录下使用mysql命令,需要在/etc / profile设置环境变量。

复制代码
[root@Linux01 mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@Linux01 mysql-5.6.36]# . /etc/profile
                                    //立即生效

添加系统服务

若希望添加mysqld系统服务.以便通过systemctl进行管理,可以直接使用源码包中提供的服务脚本。找到 support-files文件夹下的mysql , server脚本文件,将其复制到/usr /local/mysql/bin/目录下.并改名为mysqld ,.sh,然后创建mysql系统服务的配置文件/usr /lib/systernd/system/mysqld . service,将其添加为mysqld系统服务。

复制代码
[root@Linux01 mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh

[root@Linux01 mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh

[root@Linux01 mysql-5.6.36]# vim /usr/lib/systemd/system/mysqld.service

查询主机名:hostname

复制代码
[Unit]
Descrition=MySQL Server
After=network.taeget

[Service]
User=mysql
Group=mysql

Type=forking
PIDFile=/usr/local/mysql/data/Linux01.pid           //Linux01  是主机名
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop

[Install]
WantedBy=multi-user.target

这样.以后就可以使用systemctl工具来控制 MySQL数据库服务了。例如.若要启动mysqld 服务.并查看其运行状态,可以执行以下操作。

复制代码
[root@Linux01 mysql-5.6.36]# systemctl start mysqld

[root@Linux01 mysql-5.6.36]# systemctl enable mysqld

查看启动状态

复制代码
[root@Linux01 mysql-5.6.36]# systemctl  status mysqld

查看 mysql

复制代码
[root@Linux01 mysql-5.6.36]# netstat -anpt | grep mysql
相关推荐
yeflx10 小时前
Ubuntu22.04安装Mysql Workbench
数据库·mysql·adb
夜雪一千10 小时前
MySQL 自增 ID 的底层原理与坑点
android·mysql·adb
Dxy12393102161 天前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
远方 hi1 天前
MySQL 管理
adb
夜雪一千2 天前
MySQL 删除 JSON 类型的数据实战
mysql·adb·json
千码君20164 天前
个人开发者:安卓手机adb调试
android·adb·智能手机
夜雪一千4 天前
MySQL 如何存储经纬度坐标:选型、建表、空间查询实战
android·mysql·adb
有毒的教程5 天前
Dev-C++ 使用扩展库两种方式:DevPak一键安装 / 手动配置(重点)
android·c++·adb
虎王物联5 天前
随身WiFi AT指令实战手册:查串号、改串、锁频、拉起ADB一次讲清
物联网·adb