怎么在红帽系统添加mysql

在红帽系统添加mysql的方法:首先以root用户登录红帽系统;然后创建mysql用户和mysql组;接着设定数据存储目录;最后进入mysql目录,手动执行数据库初始化脚本并进行相关配置文件修改即可。

怎么在红帽系统添加mysql

推荐:《mysql视频教程》
在Redhat红帽系统中编译安装MySQL
0、以root用户登录系统,进行如下操作

可以避免一些麻烦,如:安装完成之后无法设定密码,看不到mysql库。

1、将通用二进制压缩包解压缩至 /usr/local 官方的要求,并且目录名称必须是mysql

进入压缩包目录,执行如下命令,解压缩
tar xf mysql****.tar.gz -C /usr/local创建链接
cd /usr/local
ln -sv mysql***** mysql

2、创建mysql用户mysql组(超过500的就不是系统用户了,系统用户没有家目录)

groupadd -r -g 306 mysql
useradd -r -g 306 -u 306 mysql

进入mysql目录,里面有个INSTALL-BINARY的文件,里面有具体的安装说明。

3、修改mysql目录下所有文件的属主属组

chown -R mysql.mysql /usr/local/mysql/*

4、设定数据存储目录

创建数据目录:(根据需要指定)修改数据目录权限:
chown -R mysql.mysql 数据目录(指定数据目录属主属组为mysql用户mysql组)
chmod o-rx 数据目录 (其它用户没有任何权限)
保证数据目录的属主属组是mysql,其他用户没有任何权限

5、进入mysql目录,手动执行数据库初始化脚本

scripts/mysql_install_db –user=mysql –datadir=数据目录

6、脚本执行完之后,要把mysql目录的属主改成root

chown -R root /usr/local/mysql/*

7、在mysql/support-files目录下有mysql.server(mysql启动脚本)

复制并重命名该脚本
cp support-files/mysql.server /etc/init.d/mysqld查看一下mysqld是否有执行权限,没有就给执行权限将mysqld加入到服务列表
chkconfig –add mysqld查看是否自动启动是否开启
chkconfig –list mysqld  (2 3 4 5 为on即可)

8、此时mysqld还不能启动,需要修改一下配置文件

默认位置: /etc/my.cnfmysql读取配置文件的方式非常独特
mysql配置文件是片段式的、集中式的(可以为多个服务配置)

[mysql]——客户端配置[mysqld]——服务端配置[client]——对所有的客户端程序都生效

mysql读取配置文件的顺序:
/etc/my.cnf –> /etc/mysql/my.cnf
–> $BASEDIR/my.cnf (通常是安装目录)
–> ~/.my.cnf (用户家目录下的配置文件,即使mysql用户没有家目录也找一遍)

如果找到的四处配置文件有冲突,以最后一个为准(后一个覆盖前一个
即使没有任何配置文件,mysql也能跑,在support-files目录下提供了一堆默认配置文件

复制一个配置文件到 /etc/my.cnf
cp support-files/my-large.cnf /etc/my.cnf

进行编辑修改配置文件
vi /etc/my.cnf在[mysqld]片段中加上数据目录配置信息,至关重要
datadir = /数据目录

9、 启动mysqld服务

service mysqld start
查看启动状态
netstat -tnlp

10、进入mysql数据库

执行mysql发现找不到命令
查看 ls /usr/local/mysql/bin/,发现有 mysql 命令
需要将mysql命令添加至系统目录
创建脚本文件:
vi /etc/profile.d/mysql.sh
添加 export PATH=$PATH:/usr/local/mysql/bin
保存退出
重新登陆,再次执行 mysql 就能进入mysql数据库啦

11、mysql服务器维护了两类变量

服务器变量:定义MySQL服务器运行特征
查看命令:show global variables [like ‘data%’] (调优时使用)状态变量:保存了MySQL服务器运行时的统计数据
查看命令:show global status [like ‘datadir’] (实时监控使用)

12、设定密码

[方法一]在mysql提示符下执行
mysql>set password for ‘username’@’host’=password(‘password’);
修改用户信息之后,要重读授权表
mysql>flush privileges;

[方法二]在Linux命令提示符下执行
# mysqladmin -uUsername -hHost -p password ‘password'(如果没有密码可以省略-p)

[方法三]修改mysql库中的user表
update user set Password=password(“password”) where user=”user” and host=”***”

创建mysql的root用户远程访问(对所有库.所有表)
mysql>grant all privileges on . to ‘root’@’192.16.%.%’ identified by “password”;

重读授权表
mysql>flush privileges;

[方法四]安装完之后提示的密码修改方式:
./bin/mysqladmin -u root password ‘new-password’
./bin/mysqladmin -u root -h localhost.localdomain password ‘new-password’

13、将mysql帮助文档添加至帮助命令

vi /etc/man.config
添加一行
MANPATH /usr/local/mysql/man
保存退出

14、创建数据库并指定字符集
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
15、创建用户用于SqlYog登录
#  创建一个本地登录的用户,并授予全部权限mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'    ->     WITH GRANT OPTION;# 创建一个远程登录用户,并授予全部权限mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'    ->     WITH GRANT OPTION;# 最厚要刷新一下授权表mysql> flush privileges;

原文: Host ‘xxx.xx.xxx.xxx’ is not allowed to connect to this MySQL server

16、数据备份与恢复

(一)数据备份

#  1、备份一个数据库(根据提示输入密码,如果备份远程数据库,需要加上 -h 参数)$ mysqldump -h host -u username -p database_name > back_name.sql# 2、备份 test 数据库中的 emp 表(根据提示输入密码) $ mysqldump -u username -p test emp > emp.sql# 3、备份 test 数据库中的 emp 表 和 dept 表(根据提示输入密码) $ mysqldump -u username -p test emp dept > emp_dept.sql# 4、备份多个数据库$ mysqldump -hhostname -uusername -ppassword  databasename1  databasename2> multibackupfile.sql# 5、备份所有的数据库$ mysqldump –all-databases > allbackupfile.sql# 6、只备份数据库结构$ mysqldump  –no-data  –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

(二)数据恢复

# 1、还原数据库(根据提示输入密码,如果备份远程数据库,需要加上 -h 参数)$ mysql -hhostname -uusername -ppassword databasename  source d:test.sql# 3、将数据库迁移至新服务器$ mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

以上就是怎么在红帽系统添加mysql的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/191503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月1日 13:19:28
下一篇 2025年11月1日 13:20:49

相关推荐

  • 如何在Golang中实现留言板功能

    答案:使用Golang标准库可快速实现留言板,定义Message结构体存储用户、内容和时间,通过net/http处理HTTP请求,支持POST提交留言和GET获取留言列表,结合内存切片模拟数据存储,并内嵌HTML页面实现前端交互,完成基础增查功能。 在Golang中实现留言板功能,核心是处理用户提交…

    2025年12月16日
    000
  • 如何在Golang中构建微型电商项目

    答案:微型电商项目可通过Gin框架快速搭建,合理划分模块实现核心功能。首先设计清晰的目录结构,分离路由、处理器、模型与中间件;接着使用Gin初始化HTTP服务并注册路由;定义商品、用户、订单等数据模型,结合GORM自动迁移数据库表;在处理器中实现API逻辑,如查询商品列表;通过JWT中间件实现身份验…

    2025年12月16日
    000
  • Go语言中导入包结构体的正确使用姿势

    在go语言中,当您需要将导入包中的结构体作为函数参数或变量类型时,必须使用完整的包名.结构体名形式进行引用。直接使用结构体名会导致undefined错误。本文将通过database/sql.db的示例,详细讲解如何在go项目中正确使用导入包的结构体类型,确保代码的编译和运行无误。 Go语言中导入包结…

    2025年12月16日
    000
  • Go语言中如何正确引用导入包的结构体作为类型

    本文详细阐述了在go语言中如何正确地将导入包中定义的结构体作为类型使用,例如作为函数参数。文章通过分析常见的“undefined”错误,强调了使用包限定符(packagename.structname)的重要性,并以database/sql包中的db结构体为例,提供了清晰的代码示例和最佳实践,确保开…

    2025年12月16日
    000
  • Go语言:正确引用导入包结构体类型的方法

    本文旨在解决go语言中引用导入包结构体时常见的“undefined”错误。核心在于,当使用来自外部包的结构体作为类型时,必须通过包名进行限定(例如`sql.db`),而非直接使用结构体名称(`db`)。理解go的包命名空间规则是避免此类编译错误、确保代码正确性和模块化设计的关键。 Go语言包与命名空…

    2025年12月16日
    000
  • 如何使用Golang在Docker Compose中搭建服务

    先编写Go Web服务并创建Dockerfile进行多阶段构建,再通过%ignore_a_1%-compose.yml定义服务端口映射与环境变量,最后用docker-compose up启动容器,实现Golang服务在Docker中的快速部署与验证。 用Golang在Docker Compose中搭…

    2025年12月16日
    000
  • Go SQL操作中自定义[]byte类型扫描陷阱与解决方案

    在go语言中进行数据库操作时,database/sql包是核心。它提供了一套灵活的接口,允许开发者与各种sql数据库进行交互。然而,当涉及到自定义类型,特别是作为基本类型别名(如[]byte的别名)的自定义类型时,可能会遇到一些不直观的行为。本文将聚焦于一个具体的场景:将数据库中的字节数据扫描到自定…

    2025年12月16日
    000
  • Go中SQL查询结果扫描到自定义[]byte类型的陷阱与解决方案

    本文深入探讨了Go语言中将SQL查询结果扫描到自定义`[]byte`类型时可能遇到的问题。核心在于`sql.Rows.Scan`方法在处理包装了内置类型(如`[]byte`)的自定义类型时,无法进行隐式类型断言,导致数据无法正确填充。文章将通过示例代码解析问题根源,并提供使用显式类型转换或实现`sq…

    2025年12月16日
    000
  • 如何在Golang中处理数据库事务错误

    答案:在Golang中处理数据库事务需确保每个Begin都有对应的Commit或Rollback。使用db.Begin()开启事务后,应通过defer注册回滚逻辑,即使出错也能自动清理;成功则手动调用tx.Commit(),之后Rollback无效。注意区分错误类型:sql.ErrTxDone表示事…

    2025年12月16日
    000
  • 使用Go语言构建网站搜索:探索开源爬虫与索引方案

    本文旨在为希望使用go语言实现网站搜索功能的开发者提供指导。我们将探讨构建网站搜索所需的核心组件,包括高效的网页爬取工具和强大的搜索算法。文章将介绍一个流行的go语言开源网页爬虫项目,并讨论其在实际应用中的潜力和注意事项,帮助读者快速启动其go语言搜索项目。 在现代网站应用中,提供高效的站内搜索功能…

    2025年12月16日
    000
  • 如何在Golang中实现购物车功能

    答案:通过定义用户、商品和购物项结构体,使用map管理购物车条目,实现添加、删除、计算总价功能,并结合HTTP接口与读写锁支持并发操作,适合扩展优惠券与库存校验。 在Golang中实现购物车功能,关键在于管理用户、商品和购物项之间的关系。通常使用结构体来表示数据模型,结合内存存储或数据库完成增删改查…

    2025年12月16日
    000
  • 如何在Golang中测试数据库操作

    使用内存数据库、事务回滚、专用测试实例或接口模拟可有效测试Golang数据库操作。1. 用SQLite内存模式实现快速单元测试;2. 通过事务回滚确保数据隔离;3. 借助Docker运行临时数据库实现实测集成;4. 以接口抽象加mock验证业务逻辑,提升效率与稳定性。 在Golang中测试数据库操作…

    2025年12月16日
    000
  • Golang如何在MacOS中安装Homebrew依赖

    先安装Homebrew并验证版本;2. 用brew install安装Git、Node.js、Redis、protobuf、delve等Go开发常用工具;3. 可选通过brew安装Go或指定版本;4. 定期brew update upgrade并cleanup清理。 在 macOS 上使用 Go(G…

    2025年12月16日
    000
  • Golang如何处理数据库操作错误

    答案:在Golang中处理数据库错误需始终检查error返回值,区分sql.ErrNoRows等标准错误,结合驱动特定错误判断并封装,事务中使用defer确保回滚,避免忽略错误和资源泄漏。 在Golang中处理数据库操作错误,关键在于正确使用database/sql包提供的错误机制,并结合实际场景进…

    2025年12月16日
    000
  • 如何在Golang中实现数据分页显示

    分页通过page和page_size计算offset实现,数据库分页用LIMIT和OFFSET查询,内存分页用切片截取,需返回总条数、总页数等元信息。 在Golang中实现数据分页显示,核心是通过限制查询数量和偏移量来控制返回的数据范围。通常结合数据库查询(如MySQL、PostgreSQL)或内存…

    2025年12月16日
    000
  • 将数据库查询结果转换为Go语言中的Map切片

    本文介绍了如何使用Go语言将数据库查询结果转换为`[]map[string]interface{}`类型的切片,重点讲解了使用sqlx库简化数据映射过程,并强调了在已知数据结构的情况下,使用结构体而非`interface{}`能带来更好的性能和类型安全。 在Go语言中,将数据库查询结果转换为[]ma…

    2025年12月16日
    000
  • Go HTTP 处理程序中依赖注入的优雅实践:使用闭包传递类型

    本文探讨了在 Go HTTP 处理程序中有效传递数据库连接等依赖的方法。通过引入闭包(closure)模式,我们可以将共享资源(如 *sql.DB)注入到 HTTP 处理函数中,从而避免使用全局变量,提高代码的模块化、可测试性和可维护性。教程将详细展示如何修改处理函数以接受依赖并返回 http.Ha…

    2025年12月16日
    000
  • Golang如何实现简单的论坛功能

    答案:使用Golang标准库net/http和html/template,结合SQLite数据库,可实现简易论坛。1. 定义Post和Comment结构体;2. 用database/sql操作SQLite建表存储数据;3. 注册HTTP路由并用模板渲染页面;4. 实现发帖、查看、评论功能,注意SQL…

    2025年12月16日
    000
  • Go语言database/sql:动态获取SQL查询结果的列类型信息

    本教程将深入探讨go语言标准库`database/sql`如何动态获取sql查询结果的列类型信息。通过`rows.columntypes()`方法,开发者可以在不预知数据库表结构的情况下,获取列名、数据库原生类型及go语言扫描类型等元数据,从而实现灵活的数据处理和映射,尤其适用于构建通用数据处理层或…

    2025年12月16日
    000
  • Golang RPC服务并发请求优化

    Go的RPC服务在高并发下需优化连接复用、序列化、超时控制等;通过长连接、Protobuf替代gob、限流熔断、异步处理及连接池可显著提升性能。 Go语言的RPC服务在高并发场景下表现良好,但若不加优化,容易出现性能瓶颈。核心问题通常集中在连接管理、序列化效率、资源竞争和超时控制等方面。合理调整这些…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信