包含Linux下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前端网发表,如需转载,请注明页面地址。
code前端网
