三、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:事必躬亲 自己做事情是可控的,做项目依赖…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...