一文读懂MySQL数据库之 CentOS 7下安装MySQL数据库服务

目录

一、环境规划

二、安装MySQL服务

1、创建MySQL服务相关的用户组及用户

2、解压MySQL服务安装包

3、创建MySQL服务配置文件

4、初始化MySQL服务

5、启动MySQL服务

6、重置root@localhost用户的初始密码

7、验证MySQL数据库基础功能

8、关闭MySQL服务

三、注册MySQL服务为系统服务

1、注册MySQL服务

2、启动MySQL服务

3、关闭MySQL服务

四、systemd方式管理MySQL服务

1、查看MySQL服务状态

2、启动MySQL服务

3、关闭MySQL服务


更多精彩博文详见:

《Linux系统应用运维》专栏总目录(持续更新)

《一文读懂MySQL数据库之 CentOS 7下安装MySQL数据库服务》

《一文读懂MySQL数据库之 MySQL数据库主从配置》

《一文读懂MySQL数据库之常用管理命令》

《一文读懂MySQL数据库之数据导出/导入》

《一文读懂MySQL数据库之基础增删查改语句》

一、环境规划

  • 服务器IP

master:192.168.110.121

  • 操作系统版本

CentOS Linux release 7.7.1908 (Core)

  • 关闭防火墙

此处为方便演示,直接关闭防火墙。

生产环境可以根据实际需求开通服务器防火墙策略。

systemctl stop firewalld

systemctl stop iptables

  • 查看当前系统是否安装MySQL

[root@master ~]# rpm -qa | grep mysql

若存在则会显示 mysql安装的版本信息,如:mysql-connector-odbc-5.2.5-6.el7.x86_64

卸载已安装的MySQL程序,卸载命令如下:

rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64

并将/var/lib/mysql文件夹下的所有文件都删除干净。

  • 查看当前系统是否安装mariadb

如果存在mariadb相关软件,必须卸载,否则可能与MySQL产生冲突。

[root@master ~]# rpm -qa | grep mariadb

[root@master ~]# rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

  • 下载MySQL安装包

        glibc是指GNU C Library,代表Linux系统中C语言标准库的特定版本。glibc2.17版本主要面向CentOS 7.x系统,glibc2.28版本主要面向CentOS 8.x系统。本次服务器操作系统版本为CentOS Linux release 7.7,故此处下载的MySQL版本是mysql-8.0.43-linux-glibc2.17-x86_64.tar.xz。

        在浏览器输入网址:https://dev.mysql.com/downloads/mysql/,选择合适的版本进行下载,此处选择mysql-8.0.43-linux-glibc2.17-x86_64.tar.xz版本。

  • 上传MySQL安装包至服务器

此处将MySQL安装包mysql-8.0.43-linux-glibc2.17-x86_64.tar.xz上传至服务器/usr/local路径下。


二、安装MySQL服务

1、创建MySQL服务相关的用户组及用户

  • 创建用户组mysql

[root@master ~]# groupadd -g 306 mysql
[root@master ~]# cat /etc/group | grep mysql --color

  • 创建匿名用户mysql

mysql用户用于运行MySQL服务。

[root@master ~]# useradd -u 306 -g 306 -M -s /sbin/nologin mysql
[root@master ~]# cat /etc/passwd | grep mysql --color

2、解压MySQL服务安装包

解压/usr/local路径下的安装包mysql-8.0.43-linux-glibc2.17-x86_64.tar.xz

  • 解压MySQL安装包

[root@master ~]# cd /usr/local/

[root@master local]# tar -xvf mysql-8.0.43-linux-glibc2.17-x86_64.tar.xz

  • 修改mysql-8.0.43-linux-glibc2.17-x86_64目录及子目录属主为mysql用户

[root@master local]# chown -R mysql:mysql mysql-8.0.43-linux-glibc2.17-x86_64

  • 创建mysql软链接

[root@master ~]# cd /usr/local/
[root@master local]# ln -sv mysql-8.0.43-linux-glibc2.17-x86_64 mysql

3、创建MySQL服务配置文件

创建MySQL服务配置文件/etc/my.cnf,并修改文件属主为mysql用户。

  • 创建配置文件my.cnf

[root@master ~]# vim /etc/my.cnf

加入如下内容:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
# 设置socket文件位置
socket=/usr/local/mysql/mysql.sock

[mysqld]
# 设置socket文件位置
socket=/usr/local/mysql/mysql.sock
# 设置pid文件位置
pid-file=/usr/local/mysql/mysql.pid
# 设置MySQL服务端口,默认为3306
port=3306
# 关闭mysqlx的33060端口
mysqlx=0
# 设置MySQL服务的安装目录
basedir=/usr/local/mysql
# 设置MySQL服务的数据目录
datadir=/usr/local/mysql/data
# 设置允许的最大连接数
max_connections=2000
# 设置服务端的默认字符集
character-set-server=utf8
# 设置新表默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=16M

  • 修改配置文件my.cnf属主为mysql用户

[root@master ~]# chown mysql:mysql /etc/my.cnf 
[root@master ~]# ll /etc/my.cnf

4、初始化MySQL服务

[root@master ~]# cd /usr/local/mysql/bin/
[root@master bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

--user=mysql:表示使用mysql用户运行

--basedir:代表MySQL服务的安装目录,此处为/usr/local/mysql/

--datadir:代表MySQL数据库的数据存放目录,此处为/usr/local/mysql/data/

注意:此处一定要记录下root@localhost用户的初始密码为:>0&lql(I(qCE

5、启动MySQL服务

使用mysql用户启动MySQL服务。

  • 启动MySQL服务

[root@master ~]# /usr/local/mysql/bin/mysqld --user=mysql

  • 查看MySQL服务进程是否存在

[root@master ~]# ps -ef | grep -v grep | grep mysql --color

  • 查看MySQL服务端口是否存在

[root@master ~]# netstat -tnlp

由上可见,MySQL服务已经正常启动。

6、重置root@localhost用户的初始密码


        初次登录MySQL数据库,需要重置初始密码才能进行其他的数据库操作。此处使用第4步初始化MySQL服务获得的初始密码“>0&lql(I(qCE”登录数据库后进行重置初始密码的操作。

  • 重置root@localhost用户的密码为“123456”

[root@master ~]# /usr/local/mysql/bin/mysql -u root -p
Enter password: >0&lql(I(qCE

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES;

  • 使用新密码重新登录

[root@master ~]# /usr/local/mysql/bin/mysql -uroot -p123456

mysql> show databases;

由上可见,root@localhost用户重置密码成功,root@localhost用户可以正常登录。

7、验证MySQL数据库基础功能

  • 创建数据库

创建字符集为utf8mb4、校对规则为utf8mb4_unicode_ci的数据库mydb。

mysql> CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

mysql> show databases;

数据库mydb成功创建。

  • 创建数据表

在数据库mydb中创建名为student的数据表,其中字段包含Sno(学生学号)、Sname(学生姓名)、Ssex(学生性别)、Sage(学生年龄)、Sdept(学生所在系)。

mysql> USE mydb;

mysql> CREATE TABLE student(Sno char(6) PRIMARY KEY,Sname varchar(24),Ssex varchar(6),Sage int,Sdept varchar(32));

mysql> show tables;

数据表student成功创建。

  • 插入数据

插入两行数据到mydb数据库的数据表student。

mysql> USE mydb;
mysql> INSERT INTO student VALUES ('110001','李雷','男',18,'计算机与信息学院');

mysql> INSERT INTO student VALUES ('120001','韩梅梅','女',17,'经济管理学院');

数据成功插入。

  • 查询数据

查询mydb数据库中student表的数据。

mysql> USE mydb;

mysql> show tables;

mysql> SELECT * FROM student;

查询数据成功。

由上可见,MySQL服务安装后,数据库基础功能正常。

8、关闭MySQL服务

        

        此处使用杀掉MySQL服务进程的方式关闭MySQL服务。MySQL服务的进程ID存放在/usr/local/mysql/mysql.pid文件中,只需读取该文件获取进程ID并kill掉进程即可。

[root@master ~]# cat /usr/local/mysql/mysql.pid | xargs kill -9

[root@master ~]# ps -ef | grep -v grep | grep mysqld --color

[root@master ~]# netstat -tnlp

由上可见,kill掉MySQL服务进程后,MySQL服务进程已经查询不到,且3306端口已经关闭。


三、注册MySQL服务为系统服务

        为了方便管理MySQL服务,可以将其注册为系统服务,使用service命令进行服务启动、服务关闭等操作。

1、注册MySQL服务

        

        复制MySQL服务安装目录下的support-files/mysql.server文件到/etc/init.d/路径下重命名为mysqld,然后新增名为mysqld的服务即可。

[root@master ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@master ~]# chkconfig --add mysqld
[root@master ~]# chkconfig --list mysqld

由上可见,mysqld服务注册成功。

2、启动MySQL服务

[root@master ~]# service mysqld start

由上可见,MySQL服务进程以及3306端口均正常启动。

3、关闭MySQL服务

[root@master ~]# service mysqld stop

由上可见,MySQL服务进程以及3306端口均正常关闭。


四、systemd方式管理MySQL服务

        MySQL服务注册为系统服务后,可以使用systemd方式进行管理,其主要通过systemctl命令工具进行相关操作。



1、查看MySQL服务状态

[root@master ~]# systemctl status mysqld

由上可见,MySQL服务为关闭状态。

2、启动MySQL服务

[root@master ~]# systemctl start mysqld

[root@master ~]# systemctl status mysqld

由上可见,MySQL服务已经启动为运行状态。

3、关闭MySQL服务

[root@master ~]# systemctl stop mysqld

[root@master ~]# systemctl status mysqld

由上可见,MySQL服务为关闭状态。


 更多精彩博文详见:

《Linux系统应用运维》专栏总目录(持续更新)

《一文读懂MySQL数据库之 CentOS 7下安装MySQL数据库服务》

《一文读懂MySQL数据库之 MySQL数据库主从配置》

《一文读懂MySQL数据库之常用管理命令》

《一文读懂MySQL数据库之数据导出/导入》

《一文读懂MySQL数据库之基础增删查改语句》

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野熊佩骑

您的鼓励是我持续创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值