Linux 高级管理,安装MySQL数据库

1.准备工作

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

[root@node01 ~]# rpm -q mysql-server mysql

挂载 ,安装光盘自带的ncurses-devel包

[root@node01 ~]# mount /dev/cdrom /mnt/  //挂载
[root@node01 ~]# rpm -ivh /mnt/Packages/ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm 

创建mysql文件夹,切换到该目录,安装FTP

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

连接ftp服务器

[root@node01 mysql]# ftp 172.16.37.13
Connected to 172.16.37.13 (172.16.37.13).
220 Serv-U FTP Server v15.1 ready...
Name (172.16.37.13:root): 135 //输入账号
331 User name okay, need password.
Password:  //输入密码
230 User logged in, proceed.
Remote system type is UNIX.
Using binary mode to transfer files.

切换至 软件下载/y2/y2c

ftp> cd 软件下载/y2/y2c

查看目录下的内容

ftp> ls

获取 cmake-2.8.6.tar.gz 压缩包

ftp> get cmake-2.8.6.tar.gz

获取 mysql-5.6.36.tar.gz 安装包

ftp> get mysql-5.6.36.tar.gz

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

[root@node01 mysql]# tar zxf cmake-2.8.6.tar.gz  //解压这个安装包到当前目录
[root@node01 mysql]# cd cmake-2.8.6/  //切换目录
[root@node01 cmake-2.8.6]# ./configure 
[root@node01 cmake-2.8.6]# gmake
[root@node01 cmake-2.8.6]# gmake install

2.源码编译及安装

1)创建运行用户

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

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

2)解包

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

[root@node01 mysql]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/
[root@node01 mysql]# cd /usr/src/mysql-5.6.36/
[root@node01 mysql-5.6.36]# 

3)配置

在内容丰富,结构庞大的企业网站平台中,可能会用到多种字符集的网页,相应地数据库系统也应该支持不同的字符集编码,在配置过程中,可以将默认使用的字符集设置为utf-8,并添加其他字符集的支持。

[root@node01 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

4)编译并安装

[root@node01 mysql-5.6.36]# make
[root@node01 mysql-5.6.36]# make install

3.安装后的其他调整

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

代码如下。

[root@node01 mysql-5.6.36]# chown -R mysql:mysql /usr/local/mysql/

2)建立配置文件

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

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

3)初始化数据库

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

[root@node01 mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

4)设置环境变量

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

[root@node01 mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@node01 mysql-5.6.36]# . /etc/profile

4.添加系统服务

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

[root@node01 mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[root@node01 mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh
[root@node01 mysql-5.6.36]# 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/node01.pid  //指定PID文件位置,默认为"主机名.pic1"。node01为主机名
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop

[Install]
WantedBy=multi-user.target

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

[root@node01 ~]# systemctl start mysqld
[root@node01 ~]# systemctl enable mysqld

[root@node01 ~]# systemctl status mysqld
[root@node01 ~]# netstat -anpt | grep mysql

MySOL服务器默认通过TCP 3306端口提供服务。通过编辑/etc/my.cnf配置文件中[mysqld]配置 段的"port=3306"行,可以更改监听端口。

相关推荐
帅得不敢出门17 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
鬼才血脉19 小时前
docker+mysql配置
mysql·adb·docker
CircleMouse1 天前
MySQL8完全卸载方法-Win10系统
adb
小小哭包1 天前
MySQL日期时间函数大全
android·adb
ShuQiHere2 天前
【ShuQiHere】️`adb kill-server` 和 `adb start-server` 命令的作用
adb
ShuQiHere2 天前
【ShuQiHere】️ 深入了解 ADB(Android Debug Bridge):您的 Android 开发利器!
android·adb
fighting_sunnyGirl2 天前
mac端mumu模拟器adb识别不了问题
macos·adb
D@.4 天前
如何将MySQL彻底卸载干净
数据库·mysql·adb·方法·彻底删除
CYRUS STUDIO4 天前
adb 远程调试,手动修改 adb 调试授权信息
android·adb·调试
侯卓5 天前
mysql8 window 免安装
adb