linux-mysql的安装与使用_mysql安装使用 linux(4)

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

1、在官网下载yum repository安装文件 https://dev.mysql.com/downloads/repo/yum/
选择适合系统的版本,本次安装使用的是centos7
在这里插入图片描述

2、下载文件并上传到服务器(或者获取文件连接,在服务器直接用wget下载)
这里我是用wget下载文件到/user/local/mysql目录下
在这里插入图片描述

3、安装mysql的仓库文件(下面安装过程可以参照官网https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/)
#rpm -Uvh mysql80-community-release-el7-2.noarch.rpm
在这里插入图片描述

4、查看yum repository mysql源信息
#yum repolist all | grep mysql
可以看到mysql源里面包含55、56、57、80版本的信息,默认80是enabled,其他版本是disabled。
也就是说默认安装会安装当前最新版本的mysql server
在这里插入图片描述

5、可以使用yum-config-manage disable某个版本和enable某个版本(如果找不到命令,先执行该命令# yum -y install yum-utils)
例如想安装mysql5.7,禁掉80,打开57
#yum-config-manager --disable mysql80-community
#yum-config-manager --enable mysql57-community
或者直接更改/etc/yum.repos.d/mysql-community.repo文件

6、安装mysql 服务
#yum install mysql-community-server
在这里插入图片描述

7、安装完成信息片段
在这里插入图片描述

8、修改配置文件(如果有需要,不然可以保持默认)
#vim /etc/my.cnf
可以修改端口号、表名大小写敏感、sql模式等。
注意:lower_case_table_names只支持在初始化数据库之前修改,如果数据库已经初始化完毕,再修改不起作用,并且数据库服务也无法启动
解决办法:停掉运行的MySQL进程删除数据目录下的文件,启动服务并重新初始化(有数据要记得先备份,备份,备份)
#systemctl stop mysqld
#rm -rf /var/lib/mysql/*

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin

# 设置mysql认证插件,默认caching_sha2_password,现在很多客户端不支持,导致无法连接
default-authentication-plugin=mysql_native_password

# 设置mysql端口号,默认是3306,这里修改成了3386
port = 3386

#lower_case_table_names=0  表名存储为给定的大小和比较是区分大小写的 
#lower_case_table_names=1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=2  表名存储为给定的大小写但是比较的时候是小写的
## 默认值是0,为了与开发环境兼容,这里修改成了1
lower_case_table_names=1

#默认有更多的限制,为了与开发环境兼容,做了调整
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

9、启动服务并查看状态
第一次启动服务,数据库会初始化数据,生成临时密码
#systemctl start mysqld
在这里插入图片描述

10、临时密码
在mysql的日志文件中找到初始化时生成的临时密码
直接打开日志文件,找到temporary password
#vim /var/log/mysqld.log
在这里插入图片描述
或者进行内容搜索更方便
cat /var/log/mysqld.log | grep password
在这里插入图片描述

11 、使用临时密码登陆mysql
#mysql -uroot -p
在这里插入图片描述

12、修改密码,并让数据库可以远程访问
临时密码登陆后,权限受限,必须修改密码才能做进一步的操作
因为当前密码策略的限制,还不能设置简单的密码
修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Test@1234’;
注意: 若在配置文件中没有指定mysql认证插件为mysql_native_password,可以在修改密码的时候显示指定认证插件,即
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘Test@1234’;
刷新权限
FLUSH PRIVILEGES;
在这里插入图片描述

查看数据库
show databases;
选择数据库
use mysql;
查看当前数据库表
show tables;
查看user表host、user字段
select host,user from user;
修改root用户的host
update user set host=’%’ where user=‘root’;
再次查看user表host、user字段
select host,user from user;
在这里插入图片描述
刷新用户权限
FLUSH PRIVILEGES;

13、尝试远程连接
在这里插入图片描述

14、查看密码策略、修改密码策略
有时候作为测试数据库,只需要一个简单的数据库密码,这个时候我们需要降低密码策略等级再修改密码
查看默认的密码策略和密码长度要求
SHOW VARIABLES LIKE ‘validate_password%’;
在这里插入图片描述
validate_password_check_user_name :用户名检测,默认开启
validate_password_dictionary_file :字典文件,就是要在字典规则里才能满足密码的条件。
validate_password_length : 密码的长度至少为8位
validate_password_mixed_case_count :密码中至少有一个大小写字母
validate_password_number_count :密码中至少一个数字
validate_password_special_char_count : 密码中至少一个特殊字符
validate_password_policy : 密码的安全策略

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
密码中至少一个特殊字符

validate_password_policy : 密码的安全策略

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值