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
相关推荐
雨之小10 天前
RK3588调试之旅:adbd服务配置全攻略
adb·rk3588
Chrison_mu10 天前
python运行android adb命令获取版本号
android·python·adb
奔跑吧邓邓子11 天前
一文吃透ADB,从入门到精通
adb·从入门到精通
鹏说大数据12 天前
MySQL5.7 慢查询SQL语句集合
android·sql·adb
small_white_robot13 天前
OSCP备战-LordOfTheRoot靶机复现步骤
adb
从零开始学习人工智能14 天前
基于FastAPI与Selenium的智能开关状态管理系统实践
selenium·adb·fastapi
weixin_5316389418 天前
XR-RokidAR-ADB环境搭建
adb·xr
LuLaLuLaLeLLLLLL19 天前
MySQL 调优笔记
笔记·mysql·adb
feifeigo12320 天前
python从环境变量和配置文件中获取配置参数
开发语言·python·adb
fatiaozhang952720 天前
中兴B860AV1.1江苏移动-自动降级包
android·adb·电视盒子·av1·魔百盒刷机·魔百盒固件