三、MySQL 数据库安装集
一、CentOS—YUM
1. MySQL—卸载
# 1、查看存在的`MySQL`。
rpm -qa | grep -i mysql
rpm -qa | grep mysql# 2、删除存在的`MySQL`。
rpm -e –-nodeps '包名'# 3、查找存在的`MySQL目录`。
find / -name mysql# 4、删除存在的`MySQL目录`。
rm -rf '目录'# 5、删除存在的`MySQL配置文件`。
rm -rf '/etc/my.cnf'
2. MySQL—安装
- MySQL 安装
- 报错 mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘
- 报错 mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object fil
- 报错 error while loading shared libraries: libncurses.so.5: cannot open shared object file
- chkconfig: command not found
- sysv-rc-conf
- 解决apt-get install E: 无法定位软件包,则添加添加镜像源
sysv-rc-conf mysqld on
sysv-rc-conf --list
3. MySQL—启动
# 1、切换用户。
su mysql# 2、启动。
service mysql start# 3、查看运行状态。
systemctl status mysqld
cd /usr/app/mysql-8.0.22-el7-x86_64
/etc/init.d/mysql start
mysql -uciic -pciic
二、MySQL—Docker
- 用docker创建MySQL无法访问的问题
- Docker安装mysql并挂载目录到宿主机
- Docker安装MySQL映射本地目录
- Docker安装MySQL8.0
1. 前置准备
# 1、创建`mysql/conf配置目录`、`mysql/data数据目录`。
mkdir -p /root/mysql/conf /root/mysql/data# 2、目录授权。
chmod -R 755 /root/mysql/
# 查看`MySQL`各个文件的位置。
cat /etc/mysql/mysql.cnf
cat /etc/mysql/my.cnf
[mysqld]
# 设置包含`运行的named守护进程`的`进程ID`的文件位置。
pid-file = /var/run/mysqld/mysqld.pid
# 通讯协议的载体。
socket = /var/run/mysqld/mysqld.sock
# 数据库文件所在目录。
datadir = /var/lib/mysql
# 错误日志。
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
2. 拉取镜像
# 1、搜索`MySQL镜像`。
docker search mysql# 2、拉取`MySQL镜像`。
#docker pull mysql
#docker pull mysql:8.0.16#docker pull mysql:5.7
docker pull mysql:5.7.29
3. 创建并启动容器
- 拷贝默认配置文件。
# 1、启动一个`MySQL测试容器`。
docker run -id \--name 'mysql_test' \-p 3307:3306 \-e MYSQL_ROOT_PASSWORD=['123456'] \'mysql:版本号' \ && docker logs -f 'mysql_test'# 2、进入容器。
docker exec -it ['mysql_test'] /bin/bash
exit# 3、拷贝容器内`mysql.cnf配置文件`到宿主机。
docker cp 'mysql_test:/etc/mysql/conf.d/' '/root/mysql/conf/'
docker cp 'mysql_test:/etc/mysql/mysql.cnf' '/root/mysql/conf/'
docker cp 'mysql_test:/etc/mysql/mysql.conf.d/' '/root/mysql/conf/' # 4、拷贝容器内`data数据目录`到宿主机。
docker cp 'mysql_test:/var/lib/mysql/' '/root/mysql/data/'# 5、拷贝容器内`错误日志`到宿主机。
docker cp 'mysql_test:/var/log/mysql/error.log' '/root/mysql/'# 6、删除`MySQL测试容器`。
docker rm -f 'mysql_test'
3.1 创建正式容器
# 1、切到`mysql/目录`。
cd /root/mysql/# 2、查看当前目录。
[root@qs mysql]# echo $PWD
/root/mysql# 3、创建正式容器。
docker run -d \--name '容器名称' \-p 3306:3306 \-v $PWD/conf/conf.d/:/etc/mysql/conf.d/ \-v $PWD/data/mysql/:/var/lib/mysql/ \-e MYSQL_ROOT_PASSWORD=['123456'] \['镜像ID']# 4、修改为开机自启动。
docker update --restart=always ['容器ID']
参数 | 说明 |
---|---|
-p 3306:3306 | 将宿主机 3306端口,映射到容器内 3306端口 |
-e MYSQL_ROOT_PASSWORD=123456 | 追加启动参数,指定 MySQL密码 |
4. MySQL—启动两个容器
# 1、启动`Master容器`。
docker run -d \--name 'master' \-p 3307:3306 \ -v '/root/mysql/master/mysql.cnf:/etc/mysql/mysql.cnf' \ -v '/root/mysql/master/data/:/var/lib/mysql/' \ -v '/root/mysql/master/error.log:/var/log/mysql/error.log' \ -e MYSQL_ROOT_PASSWORD=['123456'] \ ['镜像ID']
# 2、启动`Slave容器`。
docker run -d \--name 'slave' \-p 3308:3306 \ -v '/root/mysql/slave/mysql.cnf:/etc/mysql/mysql.cnf' \ -v '/root/mysql/slave/data/:/var/lib/mysql/' \ -v '/root/mysql/slave/error.log:/var/log/mysql/error.log' \ -e MYSQL_ROOT_PASSWORD=['123456'] \ ['镜像ID']
5. 启动 MySQL-8
,并配置忽略大小写
docker run -d \--name 'mysql_8' -p 3306:3306 \-e MYSQL_ROOT_PASSWORD=['123456'] \-v '/home/mysql/':'/var/lib/mysql' \['镜像ID'] \--lower_case_table_names=1
6. 登陆容器
# 1、进入容器。
docker exec -it ['容器ID'] /bin/bash # 2、登陆MySQL。
mysql -u root -p123456# 3、退出MySQL。
quit # 4、退出容器。
exit# 5、查看`MySQL容器IP`。
docker inspect ['容器ID']# 6、配置`MySQL容器IP`。
三、MySQL—常用操作
# 1、连接。
mysql -uroot -p123456# 2、远程连接。
mysql -u root -p 123456 -h 192.168.0.1 -P 3306
mysql -h[192.168.0.11] -P[3306] -D[test] -uroot -p123456 # 3、查看版本
SELECT VSESION();
1. 修改—默认端口
# 查看`MySQL`全局参数`默认端口`
show global variables like 'port';# 修改`默认端口`,加`port端口`配置,修改完成后重启服务。
vim /etc/my.cnf
port=3309
2. 修改—密码
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
2.1 忘记密码一
# 1、配置`my.ini文件`的`[mysqld]字段下`加入如下配置。
skip-grant-tables# 2、重启`MySQL服务`(现在不需要密码即可登录数据库)。
service mysql restart# 3、再次登录`MySQL`。
mysql>use mysql;
mysql>UPDATE user SET password=password('新密码') WHERE User='root';
mysql>flush privileges;# 4、修改之后,再去掉`my.ini文件`的`skip-grant-tables参数`,重启`MySQL服务`即可。
2.2 忘记密码二
# 不使用上面的方法,而是通过非服务方式加`skip-grant-tables参数`,运行MySQL来修改密码。# 1、停止`MySQL服务`。# 2、打开命令行窗口,在`bin目录下`使用`mysqld-nt.exe启动`,即在命令行窗口执行。
mysqld-nt --skip-grant-tables# 3、然后另外打开一个命令行窗口,登录`MySQL`,此时无需输入`密码`即可进入。# 4、按以上方法修改好密码后,关闭命令行运行的窗口,此时即`关闭了MySQL`。
# 如果发现`MySQL仍在运行`的话,可以结束掉对应进程来关闭。# 5、启动`MySQL服务`。
3. 修改—不区分大小写
-- 查询`大小写配置`。
SHOW GLOBAL VARIABLES LIKE '%lower_case%';-- 查询`是否区分大小写表名`。
SHOW VARIABLES LIKE 'LOWER_CASE_TABLE_NAMES';
- lower_case_file_system=off:说明大小写是敏感的。
注意:该变量不可以修改,只是说明当前操作系统对于 MySQL 的配置是否大小写敏感。- lower_case_table_names=0:是对数据表名不做转换。
如果是1,则会将数据表转换为小写,然后在进行操作。
- LOWER_CASE_TABLE_NAMES=0:表名存储为给定的大小写,比较时区分大小写的。
- LOWER_CASE_TABLE_NAMES=1:表名存储在磁盘是小写的,比较时不区分大小写。
- LOWER_CASE_TABLE_NAMES=2:表名存储为给定的大小写,比较时是小写的。
vim /etc/mysql/my.cnf
docker exec -it 'mysql_8' /bin/bash docker cp 'mysql_8:/etc/mysql/my.cnf' '/root/mysql/my.cnf'docker cp '/root/mysql/my.cnf' 'mysql_8:/etc/mysql/my.cnf'
# 修改`不区分大小写`。
# vi /etc/mysql/mysql.conf.d/mysqld.cnf
vi /etc/my.cnf------------------------------
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 修改`不区分大小写`。
lower_case_table_names=1
------------------------------# 重启MySQL。
service mysql restart
5. MySQL—导入导出
# 导出。
mysqldump -uroot -p -h192.168.100.101 -P3307 --databases sell > sell_bak.sql
# 导入(先修改`sell_bak.sql中的库名`)。
mysql -uroot -p -h192.168.100.101 -P3308 < sell_bak.sql
四、MySQL—异常
1. 3306端口已经绑定。
- Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use
# 1、查看`3306端口`占用情况。
sudo netstat -nlpt | grep 3306# 2、停掉`MySQL服务`。
sudo service mysql stop
2. ONLY_FULL_GROUP_BY
- ONLY_FULL_GROUP_BY
五、MySQL客户端—安装
- MySQL 下载
# 查看是否有安装过MySQL。
rpm -qa | grep mysql# 卸载旧的版本。
rpm -e --nodeps ['软件名']# 安装`.rpm包`(`--nodeps --force`强制安装)。
# 如果下载的是`.tar文件`需要先解压,如果是`.rpm文件`则可以直接安装。
rpm -ivh ['rpm包的名字'] --nodeps --forcemysql --help
# 检测`MySQL`是否已经启动。
#service mysqld status# 连接。
mysql -h[192.168.0.11] -P[3306] -D[test] -uroot -p123456
- 安装成功。
- error while loading shared libraries: libtinfo.so.5: cannot open shared object file
# 查找存在的`libtinfo`包。
find / -name 'libtinfo*'
# 找到存在的包。
#`/usr/lib64/libtinfo.so.6.1`# 创建软链接。
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
相关文章:

三、MySQL 数据库安装集
一、CentOS—YUM 1. MySQL—卸载 # 1、查看存在的MySQL。 rpm -qa | grep -i mysql rpm -qa | grep mysql# 2、删除存在的MySQL。 rpm -e –-nodeps 包名# 3、查找存在的MySQL目录。 find / -name mysql# 4、删除存在的MySQL目录。 rm -rf 目录# 5、删除存在的MySQL配置文件。…...

【BASH】回顾与知识点梳理(三十九)
【BASH】回顾与知识点梳理 三十九 三十九. make、tarball、函数库及软件校验39.1 用 make 进行宏编译为什么要用 makemakefile 的基本语法与变量 39.2 Tarball 的管理与建议使用原始码管理软件所需要的基础软件Tarball 安装的基本步骤一般 Tarball 软件安装的建议事项 (如何移除…...

蓝蓝设计-UI设计公司案例-HMI列车监控系统界面设计解决方案
2013年,为加拿大庞巴迪(Bombardier)设计列车监控系统界面设计。 2015-至今,为中车集团旗下若干公司提供HMI列车监控系统界面设计,综合考虑中车特点、城轨车、动车组的不同需求以及HMI硬键屏和触摸 屏的不同操作方式,重构框架设计、交互设计、…...

Blazor前后端框架Known-V1.2.13
V1.2.13 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。 Gitee: https://gitee.com/known/KnownGithub:https://github.com/known/Known 概述 基于C#和Blazo…...
vue 复制文本
一个常用的库就是 clipboard.js,它可以帮助您实现跨浏览器的复制到剪贴板功能 首先,安装 clipboard.js: cnpm install clipboard 创建一个 Vue 组件并使用 clipboard.js: <template><div><input v-model"…...

西瓜书第三章
广义线性模型 考虑单点可微函数 g ( ⋅ ) g(\cdot) g(⋅),令 y g − 1 ( ω T x b ) yg^{-1}(\omega^{T}xb) yg−1(ωTxb),这样得到的模型称为“广义线性模型”,其中函数 g ( ⋅ ) g(\cdot) g(⋅)称为“联系函数”。显然,对数线…...
关于python如何使用sqlalchemy连接sap_hana数据库
1.先安装sqlalchemy pip install sqlalchemy 2.from sqlalchemy import create_engine 3.创建数据库连接方式: 假设数据连接方式如下: usernameH_TEOPT passwordww122222 jdbcUrljdbc:sap://192.163.1.161:21681/?currentschema 那么使用sqlalchemy 的…...
微信小程序教学系列(5)
微信小程序教学系列 第五章:小程序发布与推广 第一节:小程序发布流程介绍 小伙伴们,欢迎来到第五章的教学啦!在这一章中,我们将一起来探索小程序的发布与推广流程。你准备好了吗?让我们开始吧࿰…...

【计算机网络篇】TCP协议
✅作者简介:大家好,我是小杨 📃个人主页:「小杨」的csdn博客 🐳希望大家多多支持🥰一起进步呀! TCP协议 1,TCP 简介 TCP(Transmission Control Protocol)是…...
Disruptor并发编程框架
Disruptor是一款高性能的并发编程框架,主要具有以下特点和功能: 1. RingBuffer环形数据结构 Disruptor的核心数据结构是RingBuffer环形队列,用于存储客户端的并发数据并在生产者和消费者之间传递。队列以批量方式的顺序存储,可以高效地进行并发读写操作。 2. 无锁设计 Disrup…...

matlab 点云精配准(1)——point to point ICP(点到点的ICP)
目录 一、算法原理参考文献二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 参考文献 [1] BESL P J,MCKAY N D.A method for registration of 3-Dshapes[J].IEEE Tran…...

【JVM】运行时数据区域
文章目录 说明程序计数器虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存 说明 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直…...

uniapp踩坑合集
1、onPullDownRefresh下拉刷新不生效 pages.json对应的style中enablePullDownRefresh设置为true,开启下拉刷新 {"path" : "pages/list/list","style" :{"navigationBarTitleText": "页面标题名称","enable…...

再JAVA中如何使用qsort对类进行排序?
目录 结论: 解析: 结论: import java.util.Arrays;class Person implements Comparable<Person>{public String name;public int age;public Person(String name, int age) {this.name name;this.age age;}Overridepublic Stri…...

docker安装clickhouse
安装 docker安装 创建clickhouse目录 mkdir -P /data/clickhouse/datamkdir -P /data/clickhouse/confmkdir -P /data/clickhouse/log 拉取镜像 这里直接拉取最新镜像, 如果需要某个特定版本, 则再拉取的时候指定版本号即可. docker pull clickhouse/clickhouse-server 启动临…...

解决`idea`中`database`工具查询起别名乱码问题
文章目录 解决idea中database工具查询起别名乱码问题场景复现如何解决方式一 设置编码方式二:修改字体 原因说明 解决idea中database工具查询起别名乱码问题 场景复现 使用Idea做查询的并且起别名出现了中文乱码 如何解决 方式一 设置编码 settings->输入框输…...

UE4/5Niagara粒子特效之Niagara_Particles官方案例:1.5->2.3
目录 之前的文章: 1.5 Blend Attributes by Value 发射器更新 粒子生成 粒子更新 2.1 Static Beams 编辑 发射器更新: 粒子生成 粒子更新 2.2 Dynamic Beams 没有开始模拟前的效果是: 开始模拟后的效果是: 发射器更新 …...

Docker 容器数据卷
Docker挂载主机目录访问如果出现cannot open directory .: Permission denied 解决办法:在挂载目录后多加一个--privilegedtrue参数即可 如果是CentOS7安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认为不安全的行…...

STM32--MPU6050与I2C外设
文章目录 前言MPU6050参数电路MPU6050框图 IIC外设框图 IIC的基本结构软件IIC实现MPU6050硬件IIC实现MPU6050 前言 在51单片机专栏中,用过I2C通信来进行实现AT24C02的数据存储; 里面介绍的是利用程序的编程来实现I2C的时序,进而实现AT24C02与…...

项目管理实战笔记1:项目管理常识
序 看了下极客时间的《项目管理实战》,觉得跟之前学习PMP的标准资料还是有所侧重。重新整理下,相比书上繁杂的知识,这个更通俗易懂。 1 角色转换:三大误区 误区1:事必躬亲 自己做事情是可控的,做项目依赖…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...