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
相关推荐
运维佬12 小时前
在 MySQL 8.0 中,SSL 解密失败,在使用 SSL 加密连接时出现了问题
mysql·adb·ssl
qq_308957472 天前
adb 如何通过wifi连接手机
adb·智能手机·app自动化测试
白如意i2 天前
如何在 CentOS 6 上设置 NFS 挂载
数据库·mysql·adb
七月.末2 天前
安卓aab包的安装教程,附带adb环境的配置
android·adb
SRC_BLUE_172 天前
SQLI LABS | Less-39 GET-Stacked Query Injection-Intiger Based
android·网络安全·adb·less
jason.zeng@15022074 天前
ubuntu中安装mysql
mysql·ubuntu·adb
看山还是山,看水还是。4 天前
MySQL 安装
运维·数据库·笔记·学习·mysql·adb
开心呆哥5 天前
【如何使用 Python 脚本通过 ADB 命令来检查 Android 文件内容】
android·python·adb
秋秋秋秋秋雨5 天前
linux强制修改mysql的root账号密码
linux·mysql·adb
开心呆哥6 天前
【如何使用 ADB 脚本批量停止 Android 设备上的所有应用】
android·adb