Code前端首页关于Code前端联系我们

包含Linux下mysql操作的条目

terry 2年前 (2023-09-30) 阅读数 40 #Mysql
文章标签 Mysql

本文内容列表:

  • 1、Linux下如何进入mysql命令行
  • 2、如何在Linux环境下安装部署MySQL数据库系统
  • 3.审计日志记录Linux上的MYSQL操作

linux下如何进入mysql命令行

格式:mysql -h 主机地址 -u 用户名 -p 用户密码

1.例一:连接本机MYSQL

一般情况下直接输入命令即可。

mysql -uroot-p1

按回车键后,会出现密码提示。如果你刚刚安装了MYSQL,超级用户root没有密码,所以直接回车即可进入MYSQL。 MYSQL提示是:mysql

2。连接到远程主机上的 MySQL。

假设远程主机的IP为:10.0.0.1,用户名为root,密码为123,则输入以下命令:

mysql -h10.0.0.1 -u root -p1231

(注:u和root不需要加空格,其他也一样)

3。退出 MySQL 命令。

退出(输入)。

扩展信息:

Linux是一套可以自由使用、自由分发的类Unix操作系统。它是一个基于POSIX和UNIX的多用户、多任务、多线程和多处理器操作系统。它可以运行主要的 UNIX 软件工具、应用程序和网络协议。它支持32位和64位硬件。

Linux继承了面向网络的Unix设计理念,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991年10月5日(这是这个日期第一次正式向外界公布)。 Linux有很多不同的版本,但它们都使用Linux内核。

Linux可以安装在手机、平板电脑、路由器、视频游戏机、台式机、大型机和超级计算机等多种计算机硬件设备上。

严格来说,Linux这个词本身仅指Linux内核,但事实上,人们习惯用Linux来描述基于Linux内核、使用GNU项目的各种工具和数据库的整个操作系统。

参考:百度百科-Linux

如何在Linux环境下安装部署MySQL数据库系统

在Linux系统中安装软件需要提前做好以下准备工作: 准备Linux操作系统,例如CentOS7。配置 yum 资源。

完成以上准备工作后,就可以安装MySQL数据库了。主要安装步骤如下:

1.禁用 selinux

setenforce 0

2。将安装文件上传到 Linux

3。解压 rpm 包

tar -xvf mysql-5.7.26-1.el7 .x86_64.rpm-bundle.tar

4.安装软件

yum install mysql-community-{clilibs, server}-* .rpm

5.开始数据库初始化mysql

systemctl start mysqld

6.编辑 vi /etc/my.cnf

添加:

[mysqld]

#表中可以输入汉字

character-set-server=utf8 #

forexplicit-default - timestamp

# 禁用当前密码验证策略,可以使用简单密码(生产环境无效)

validate_password=0

7。重启mysql

systemctl restart mysqld

8.找到临时登录密码

grep -i "temp password" /var/log/mysqld.log

9.连接 MySQL 数据库

mysql -uroot -p 输入临时密码

10。编辑用户root的登录密码为简单密码(生产环境无效)

更改用户root@localhost,标识为'';

11。配置环境变量 MYSQL_PS1

编辑主目录下的 .bash_profile 文件,添加

export MYSQL_PS1="\u@\h[\d]"

12。确保新的环境变量生效

source /root/.bash_profile

13。再次连接mysql并验证

mysql -uroot -p

除了上面的安装方法之外,你可能会遇到需要在公司安装指定版本的情况,那么如何安装指定版本的MySQL数据呢?此时我们就可以下载指定版本的安装包进行安装了。主要步骤如下,假设最小安装CentOS7 Linux,配置yum。首先检查numactl包是否安装

rpm -qa|grep numactl

yum install numactl-libs-* # 如果没有安装,请安装。检查libaio包是否安装

rpm -qa|grep libaio

yum install libaio-* # 如果没有安装,需要安装

具体安装步骤如下:

* 禁用selinux

setenforce 0

* 将安装文件上传到Linux

mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

* 并创建用户组 mysql groupadd -g 27 -r mysql

# -r 创建系统帐户,-M 不创建用户主目录 -N 不创建同用户名的用户组

useradd -M -N -g mysql -r -s /bin/false -c "MySQL Server" - u 27 mysql

id mysql

* 将安装包上传到 root 的主目录

* 将二进制文件解压到 /usr/local

tar -zxvf mysql -5.7.26-linux-glibc2.12-x86_64 .tar .gz -C /usr/local

* 将解压目录重命名为mysql

cd/usr/local -l

mv mysql-5.7.26 -linux-glibc2.12-x86_64 /mysql

* 将mysql/bin目录添加到环境变量

vi /root/.bash_profile❙PA=profile

/usr/local/mysql/bin: $PATH:$HOME/bin

添加export MYSQL_PS1= "\u@\h[\d]"

source /root/.bash_profile

* 创建/usr /local/mysql/etc/my.cnf cnf 选项文件(也可以使用默认选项文件 /etc/my .cnf)

mkdir -p /usr/local/mysql/etc

mkdir -p /usr/local/mysql/mysql-files

* 编辑选项文件 my.cnf 并填写默认选项

vi /usr /local/ mysql /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/us mysql/data /mysql.sock

log-error=/usr/local/mysql/data/mysqld.err

pid-file=/usr/local/mysql/data/mysqld.pid

secure=/usr/ local /mysql /mysql-files

user=mysql

# 建议禁用符号链接,以避免各种安全风险

symbolic-links=0

explicit-default- character-set-server= utf8

[mysql]

socket=/usr/local/mysql/data/mysql.sock

* 数据目录初始化❙rcl/myq mkdir data

chmod 750 data

chown mysql:mysql data

* 初始化数据库

cd /usr/local/mysql/mysr-qfilebin /mysql/etc /my.cnf --initialize

* 使用systemd管理mysql

例如:systemctl {start|stop|restart|status} mysqld

cd /usr/lib/systemd/system

touch mysqld.service

chmod 644 mysqld.service

vi mysqld.service

# 添加以下内容

[Unit]

Description=MySQL Server

Documentation=man:mysqld(7)

Documentation=

getworkAgent=

After=syslog.target

[安装]

WantedBy=multi-user.target

[服务]

User=mysql❙Group=mygroup PIDFile =/usr/local/mysql/ data/mysqld.pid

#禁用systemd服务启动和停止mysqld服务的超时逻辑。

TimeoutSec=0

#启动主服务

ExectStar usr /local/mysql/bin/mysqld -- defaults -file=/usr/local/mysql/etc/my.cnf --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS

# 用这个来切换malloc的实现

EnvironmentFile=-/etc/sysconfig/mysql

# 设置 open_files_limit

LimitNOFILE = 65535

重新启动

重新启动预启动

PrivateTmp=false

上述注意事项内容:选项 my.cnf 配置文件中指定的 --pid-file 被 systemd 忽略。

默认:LimitNOFILE = 5000,如果需要增加连接数(max_connection),LimitNOFILE 可以设置为最大65535

* 创建mysql.conf文件

cd /usr/lib/tmpfiles.d

#添加systemd tmpfiles功能的配置文件。该文件名为 mysql.conf,位于 /usr/lib/tmpfiles.d。

cd /usr/lib/tmpfiles.d

touch mysql.conf

chmod 644 mysql.conf * mysql.conf 添加内容

vi mysql.conf 添加以下语句:

d /usr/local/mysql/data 0750 mysql mysql -

* 启动新添加的 mysq 服务 systemctl enable mysqld.service

* 手动启动mysqld

systemctl start mysqld

systemctl status mysqld

.* 获取临时登录密码 mysql/mysql/mysqlql 错误 | grep "临时密码"

* 客户端登录连接mysql服务器

mysql -uroot-p

输入临时密码

* 编辑MySQL用户root@localhost的密码

root@localhostidentified ' '; #为了方便,这里设置空密码

* 测试新密码连接MySQL服务

mysql -uroot-p

至此,我们就完成了Linux环境下安装MySQL的任务。通过这两种方法,我们可以了解Linux环境下安装软件的基本思路和方法。

Linux系统中MYSQL操作的审计日志记录

基于作者之前的文章《记录Linux系统用户操作的审计日志》。本文使用同样的方法来记录MYSQL操作的审计日志。

默认情况下,所有使用mysql工具连接MySQL服务器的操作都会记录在~/.mysql_history文件中。该文件将以纯文本格式记录所有操作,包括用户创建和用户密码更改。这在生产系统上并不安全。如果您不想保存它,仅仅删除它是没有帮助的(如果该文件不存在,则会重新创建),您必须将其直接链接到垃圾箱。

ln -s /dev/null ~/.mysql_history

记录MYSQL操作的审计日志,使用与上一篇文章相同的方法,因为mysql工具本身有shell,每次mysql操作连接终止后,它将有关此操作的信息记录到文件~/.mysql_history中。然后,您可以重新定义 MYSQL_HISTFILE 环境变量来存储 mysql 日志。

首先我们看一下位于/etc/profile.d目录下的环境变量中的mysql_history.sh脚本,该脚本与loginlog类似。

测试中发现,平时使用MySQL的普通用户启动MySQL后无法录制,而root用户(从未接触过MySQL)则可以成功录制。后来我在~/.mysql_history文件中找到了操作的日志。这可能是因为该文件仍然存在。删除后,记录的路径由新的 MYSQL_HISTFILE 文件定义。

就像日志日志一样,过期的日志需要定期删除。以下脚本位于 /etc/cron.weekly 目录中。 ?未解决。

1. 定义history.maxSize 记录的最大数量。我不知道在哪里定义它,my.cnf?

2. 添加每个命令的时间戳。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门