linux环境安装使用mysql详解

news2024/12/22 16:59:26

01-安装MySQL并启动

   1.1 环境准备

# 1.卸载mariadb,否则安装mysql会出现冲突
    (1).执行命令rpm -qa | grep mariadb   会列出所有被安装的mariadb rpm 包;
    (2).执行命令rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    

   1.2本地安装(5.6版本默认root没有密码)

上传下载好的软件包到系统中

 

# 0.执行本地安装包之前必须先安装vim
yum install -y vim
# 1.安装步骤
rpm -ivh perl-*
rpm -ivh net-tools-2.0-0.22.20131004git.el7.x86_64.rpm
rpm -ivh mysql-community-common-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.6.42-2.el7.x86_64.rpm

    1.3 在线安装(我选择的是在线安装,安装的是mysql5.7版本)

# 1.添加官方的yum源创建并编辑mysql-community.repo文件
vi /etc/yum.repos.d/mysql-community.repo
# 2.粘贴以下内容到源文件中
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
#注意:如果需要安装mysql5.7只需要将baseurl修改即可
# 3.安装mysql
sudo yum install -y mysql-community-server

    1.4 设置root用户密码

# 1.启动mysql数据库
[root@localhost mysql]# systemctl start mysqld
# 2.查看mysql版本号
[root@bogon usr]# mysql -V
# 3.修改mysql数据库密码    
mysqladmin -u root -p password 回车 输入原始密码 在输入新的密码
注意:5.7之前版本安装完成之后没有密码,mysql5.7之后的版本的初始密码是随机生成的,放在了 /var/log/mysqld.log
使用命令 cat/var/log/mysqld.log 读出来即可 ,mysql5.6之后没有初始密码,可以使用:mysql -u root 命令直接登录,不用输入密码
mysql5.6版本修改密码,使用命令: mysqladmin -u root -p  password 'Root!123' ,因为mysql5.6没有初始密码-p后面不用输入密码,在password输入新密码,Root!123是新密码
# 4.登录mysql
[root@localhost mysql]# mysql -u root -p
查看mysqld.log文件分配的临时密码

 

安装之后目录分构,有时候usr/lib/mysql没有mysql文件,但是不要慌,这块没有仔细研究,但是只要能启动运行就证明安装成功

 

    1.5 开启远程访问

# 1.安装完成mysql时,发现mysql数据库,不允许我们远程连接需要修改设置

 

# 2.登录mysql,并选择使用mysql数据库

 

# 3.查看mysql库中的所有表

 

# 4.查询user表

 

# 5.执行如下命令
grant all privileges on *.* to 'root'@'%' identified by 'root账号的密码' with grant option;

 

# 6.刷新权限
flush privileges;

 

# 7.重启服务
systemctl restart mysqld
# 8.关闭防火墙
systemctl stop firewalld
# 9.测试连接

 

这时如果你还是不能访问,数据库报:10038,查看你的云服务器(在关闭防火墙的前提下)
如果是腾讯云服务器:在防火墙添加一条开放mysql 3306端口,然后再次测试就可以了。
    

 

    1.6 配置mysql的环境变量

1.修改/profile文件
vi /etc/profile
2.在文件的末尾,添加如下代码
export MYSQL_HOME=mysql安装目录(/usr/local/mysql-5.7.36)
export PATH=$PATH:$MYSQL_HOME/bin
3.刷新文件
source /etc/profile
4.测试,切换到根目录然后登陆mysql,没有提示无法识别mysql说明配置成功
cd /
mysql -uroot -p

02-Linux中MySQL操作详解

    2.1 修改mysql登录密码

    
    首先登录mysql
mysql -u root -p
    
    然后输入修改密码
set password for username @localhost = password(newpwd);
#username:账号(root)
#newpwd:新密码

 

    2.2忘记密码,找回密码

    
    第一步:修改my.cnf文件
vi /etc/my.cnf
 
    第二步:在[mysqld]下 加上 skip-grant-tables  如下:
[mysqld]
datadir=/var/lib/mysql
skip-grant-tables
    第三步:重启mysql
systemctl restart mysqld
    第四步:登陆mysql,输入账号直接回车
mysql -u root
    
    第五步:修改密码
update mysql.user set authentication_string=PASSWORD('Root!123') where User='root';
    第六步:刷新
flush privileges;
    第七步 改回my.cnf重启mysql
        登陆后任何操作都会提示如下信息
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    :再次刷新一下密码
set password for root@localhost = password('Root!123');
            最后刷新一下
flush privileges;

    2.3 linux卸载mysql

     首先查看mysql的安装情况
rpm -qa|grep -i mysql
    
    显示之前安装了:
MySQL-client-5.5.25a-1.rhel5
MySQL-server-5.5.25a-1.rhel5
     停止mysql服务,并删除包, 删除命令: rpm -ev 包名
systemctl stop mysqld
rpm -ev MySQL-client-5.5.25a-1.rhel5
rpm -ev MySQL-server-5.5.25a-1.rhel5
     如果提示依赖包错误,则使用以下命令尝试
rpm -ev MySQL-client-5.5.25a-1.rhel5 --nodeps
     查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysql
    
    查找结果如下:
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
     删除对应的mysql目录
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
    注意: 卸载后  /etc/my.cnf不会删除,需要进行手工删除
rm -rf /etc/my.cnf
    再次查找机器是否安装mysql
rpm -qa|grep -i mysql
    无结果,说明已经卸载彻底,接下来直接安装mysql即可

03-MySQL主从复制

 

# 0.架构规划
192.168.202.201 master 主节点
192.168.202.202 slave 从节点
# 1.修改mysql的配置文件
[root@localhost mysql]# vim /etc/my.cnf
# 2.分别在配置文件中加入如下配置
主数据库
server-id=1
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
从数据库
server-id=2
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
注意:两个机器的server-id不能一致,该配置要配置在[mysqld]下,配置在别的下面无效!

 

# 3.重启mysql服务
systemctl restart mysqld
# 4.登录mysql执行如下命令检测配置是否生效,如果value值和你配置的server-id一致,证明配置成功
SHOW VARIABLES like 'server_id';

 

# 5.登录master节点执行如下命令
show master status;

 

# 6.登录从节点执行如下命令:
change master to
master_host='192.168.80.129',
master_user='root',
master_password='root',
master_log_file='mysql-bin.000001',
master_log_pos=120;

 

# 7.开启从节点
start slave;
#关闭从节点
stop slave;

 

# 8.查看从节点状态
show slave status\G;
************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.15.0.9
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 120
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
注意:
1.出现 Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 说名成功,
2.如果在搭建过程出现错误,可以查看查看错误日志文件 cat /var/log/mysqld.log
# 9.通过客户端工具进行测试
# 10.关闭主从复制(在从节点执行)
stop slave;
注意:如果出现Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593错误,请执行如下命令,rm -rf /var/lib/mysql/auto.cnf删除这个文件,之所以会出现这样的问题,是因为我的从库主机是克隆的主库所在的主机,所以auto.cnf文件中保存的UUID会出现重复.

04-读写分离
4.1 MyCat引言
基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。业界优秀的开源项目和创新思路被广泛融入到MYCAT的基因中,使得MYCAT在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。
MYCAT背后有一支强大的技术团队,其参与者都是5年以上资深软件工程师、架构师、DBA等,优秀的技术团队保证了MYCAT的产品质量。MYCAT并不依托于任何一个商业公司,因此不像某些开源项目,将一些重要的特性封闭在其商业产品中,使得开源项目成了一个摆设.

 

4.2 安装Mycat
# 1.下载mycat
http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
# 2.解压mycat
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

 

# 3.查看解压之后目录]
[root@localhost mycat]# ls
总用量 12
drwxr-xr-x. 2 root root 190 10月 14 22:58 bin
drwxrwxrwx. 2 root root 6 3月 1 2016 catlet
drwxrwxrwx. 4 root root 4096 10月 14 22:58 conf
drwxr-xr-x. 2 root root 4096 10月 14 22:58 lib
drwxrwxrwx. 2 root root 6 10月 28 2016 logs
-rwxrwxrwx. 1 root root 217 10月 28 2016 version.txt

 

# 4.移动到/usr目录
mv mycat/ /usr/
# 5.配置mycat中conf下的配置schema.xml

 

<!-- 定义MyCat的逻辑库 dataNode代表映射真实数据节点-->
<schema name="test_schema" checkSQLschema="false" sqlMaxLimit="100" dataNode="testNode"></schema>
<!-- 定义MyCat的数据节点 name:名字必须和dataNode值一致 dataHost:映射真实主机 database:映射真实的库-->
<dataNode name="testNode" dataHost="dtHost" database="test" />
<!-- 定义数据主机 name:名字必须和dataHost保持一致  -->
<dataHost name="dtHost" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="-1" slaveThreshold="100">
    <!-- 心跳检测  -->
    <heartbeat>select user()</heartbeat>
    <!--写节点-->
    <writeHost host="hostM1" url="192.168.28.128:3306" user="root" password="root">
        <!--从节点-->
        <readHost host="hostS1" url="192.168.28.129:3306" user="root" password="root" />
    </writeHost>
</dataHost>
# 6.配置登陆mycat的权限server.xml
<system>
    <!-- 这里配置的都是一些系统属性,可以自己查看mycat文档-->
    <property name="defaultSqlParser">druidparser</property>
    <!-- 编码,mysql版本如果是5.x必须是utf8-->
    <property name="charset">utf8</property>
</system>
<!-- 配置用户信息 name:代表登陆mycat的用户名 password:代表登陆密码-->
<user name="root">
    <property name="password">root</property>
    <!-- 用来指定可以操作的逻辑库-->
    <property name="schemas">aa</property>
</user>
# 7.启动mycat
./mycat console
# 8.查看日志
tail -f ../logs/mycat.log
# 9.数据库连接配置,测试

持续更新!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

super_排列组合lesson08易错题记录

此题用插空法解决&#xff1a;这个是组合的问题&#xff0c;总共10个学生&#xff0c;要分配到7个班级里&#xff0c;也就是要把这十个学生分为7部分&#xff0c;如果让学生们站在一起&#xff0c;就是在9个空位中插入6块木板&#xff0c;也就是C(9,6)也就是84 此题用捆绑法解决…

[Java进阶] 线程池详解

文章目录 前言1. 线程池的作用2. 线程池的应用3. 标准库中创建线程池的方式 前言 本文介绍线程池的作用和实现方法. 1. 线程池的作用 1.我们知道,线程的作用是由于进程的创建和销毁需要分配和回收资源,开销较大.而线程是"轻量级进程",创建销毁更高效. 2.线程池,比线…

汽车发动机点火性能测试仪设计

汽车发动机的点火系统包括上百种电气和机械零部件&#xff0c;生产线分布较广&#xff0c;因此分布式间接监控方式在点火系统的监测与故障诊断系统中得到广泛应用。发动机点火性能测试仪通过测量发动机的闭合角与分火角&#xff0c;对其分电器和点火器性能进行分析。 闭合角、分…

Python接口自动化测试实战系列

本节内容 接口及接口测试 网络基础知识&#xff1a;IP,域名, DNS及端口 网络基础知识&#xff1a;OSI七层模型及TCP协议 HTTP协议 接口及接口测试 这里插播一个段子 上图中&#xff0c;程序员口中提到的接口是什么意思呢&#xff1f; 手机壳有没有颜色这个属性&#xff0…

安全渗透工程师入门最快需要多久?提供具体路线和学习框架

前言 网络渗透这个东西学起来如果没有头绪和路线的话&#xff0c;是非常烧脑的。最快达到入门也要半年 理清网络渗透学习思路&#xff0c;把自己的学习方案和需要学习的点全部整理&#xff0c;你会发现突然渗透思路就有点眉目了。 网络安全好混&#xff0c;但不容易混得好。…

【顶配快速排序】CUTOFF配合三点中值法的三路划分

目录 1引入情境2 形式化描述2-1递归结构2-2 一次划分2-3 C实现 3 在工程中的改进3-1 处理重复元素双向划分三路划分C 实现 3-2 最差情况的改进三点中值法随机选择pivot短序列切回插入排序 4 全部改进技术加持 1引入情境 从低到高排成一队&#xff0c;怎么办&#xff1f; 以大雄…

RIME协议栈解读

// 新坑–contiki rime简介 rime类似于TCP/IP协议栈&#xff0c;属于分层结构。图片来自Adam Dunkels本人的rime论文介绍。 abc为anonymous broadcast&#xff0c;匿名广播。即将数据包通过无线射频驱动(radio driver)发出去&#xff0c;接收来自无线射频驱动所有的包并交给…

四月成功上岸阿里,年后准备了两个月,要个21k应该不过分吧~

先说下我基本情况&#xff0c;本科不是计算机专业&#xff0c;现在是学通信&#xff0c;然后做图像处理&#xff0c;可能面试官看我不是科班出身没有问太多计算机相关的问题&#xff0c;因为第一次找工作&#xff0c;阿里的游戏专场又是最早开始的&#xff0c;就投递了&#xf…

[JAVA数据结构]希尔排序/缩小增量法

前置内容&#xff1a;[JAVA]直接插入排序_HY_PIGIE的博客-CSDN博客 希尔排序&#xff0c;是将一个数组分成多组&#xff0c;在每一个组内进行排序。每进行一次排序&#xff0c;组中的元素都会增多&#xff0c;组数减少。 在组内进行直接插入排序 组数以/2的形式减少 例入&#…

离散Markov Chain序列及可视化

离散Markov Chain序列及可视化 文章目录 离散Markov Chain序列及可视化[toc]1 天气预测2 赌徒问题 1 天气预测 假设仅存在三种天气&#xff1a;晴天、阴天和雨天&#xff0c;每种天气状态构成的系统满足(齐次)马氏链过程&#xff0c;即下一期的天气状态仅取决于当前的天气状态…

网络安全是什么?如何成为一位优秀的网络安全工程师?

网络安全是什么&#xff1f; 首先说一下什么是网络安全&#xff1f; 网络安全工程师工作内容具体有哪些&#xff1f; 网络安全是确保网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然的或者恶意的原因而受到破坏、更改、泄露&#xff0c;系统连续可靠正常地…

idea部署tomcat(偏小白向)

目录 一、环境部署 1.安装idea ultimate任意版本 2.java稳定的版本如&#xff1a; 3.apache-tomcat任意版本&#xff0c;需要考虑兼容性&#xff0c;大家可以百度一下 二、部署简单的javaweb环境 总结 1.第一个问题 2.第二个问题 一、环境部署 1.安装idea ultimate任意版本…

Debian 11安装mysql 5.7.41

Debian 11安装mysql 5.7.41 1、下载mysql安装包2、安装文档2.1、安装依赖包2.2、安装MySQL包2.2.1、预设值数据库参数2.2.2、安装MySQL包 2.3、文件安装位置 3、使用mysql 5.7.41 数据库3.1、命令行登录MySQL 5.7.41 数据库3.2、navicat连接mysql 5.7.41 数据库3.2.1、修改mysq…

UWB技术开发的定位系统源码,高精度人员定位系统源码,室内定位系统源码人员定位/车辆定位/物品定位/材料定位

UWB技术定位系统源码&#xff0c;高精度人员定位系统源码&#xff0c;智慧工厂人员定位系统源码&#xff0c;室内定位系统源码 技术架构&#xff1a;单体服务 硬件&#xff08;UWB定位基站、卡牌&#xff09; 开发语言&#xff1a;java 开发工具&#xff1a;idea 、VS Code…

操作系统:12 线程竞争与线程池

1 基本概念 ① 竞争与同步 同一个进程中的线程能够共享进程中的绝大多数资源&#xff0c;当他们随意竞争时可能会导致共享资源被破坏、脏数据、不完整、不一致等问题 通过一些方法让进程中的线程在竞争资源时相互协调&#xff0c;避免出现以上问题&#xff0c;这种手段就称为线…

5月11日作业

思维导图 作业&#xff1a; 作业1&#xff1a; 作业2&#xff1a; 作业3&#xff1a; 作业4&#xff1a; 作业5&#xff1a;

算法设计与分析:枚举和递推的运用

目录 第1关&#xff1a;双关系递推数列 任务描述 相关知识 枚举算法的两种框架 递推算法的实施步骤 问题求解思路 编程要求 测试说明 第1关&#xff1a;双关系递推数列 任务描述 本关任务&#xff1a;运用枚举和递推的基本思想&#xff0c;通过编程计算出双关系递推数…

grafana + influxdb + telegraf构建linux性能监控平台

为了更好的做性能测试过程中监控服务器资源&#xff0c;提供可视化效果&#xff0c;下面介绍一种监控方案&#xff1a; grafana influxdb telegraf , 构建linux性能监控平台 安装3个软件 1.Grafana安装 grafana , 访问各类数据源 , 自定义报表、显示图表等等 , 用于提供界…

微星 B360M MORTAR电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板微星 B360M MORTAR 处理器英特尔 Core i5-9400 2.90GHz 六核已驱动 内存8 GB ( 金士顿 DDR4 2666MHz 8GB )已驱动 硬盘西数 WDS250G3X0C-00SJG0…

mysql高级语句(2)

and or 最左原则 create view视图表&#xff1a;虚拟表或存储查询 没有表结构存储查询语句的结果表 临时表在用户退出或同数据库连接断开就会小时&#xff0c;而视图表不会&#xff08;就像定义个全局变量&#xff09;保存的是定义 格式&#xff1a;create view “视图表名…