MySQL服务器安装(Linux)
如果已有旧版本的MySQL,需先卸载。 清理现有配置文件: 安装依赖库: 解压并安装: 启动: 设置环境变量: 交互模式: 非交互模式: 下载并安装: 启动并配置:
发布日期:2025-04-17 23:48:36
浏览次数:21
分类:精选文章
本文共 2820 字,大约阅读时间需要 9 分钟。
MySQL单点安装教程
系统需求
在Linux服务器上安装MySQL之前,需要对服务器进行一些基础设置:
关闭防火墙或开放3306端口
- 查看防火墙状态:
firewall-cmd --state
- 关闭防火墙:
service firewalld stop
- 禁用防火墙开机启动:
systemctl disable firewalld.service
确认网络命令的正常性
- 安装net-tools:
yum -y install net-tools.x86_64
上传文件支持
- 安装lrzsz:
yum -y install lrzsz
MySQL下载
为了保证软件的安全性,建议从MySQL官方网站下载:
下载地址:
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
MySQL安装
安装前的准备
rm /etc/my.cnf*
yum install libaio
对于Oracle Linux 8及Red Hat 8,需安装ncurses-compat-libs:
yum install ncurses-compat-libs
安装步骤
解压下载包:
tar -xvJf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
创建用户和组:
groupadd mysqluseradd -r -g mysql -s /bin/false mysql
将解压包复制到/usr/local:
cp mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz /usr/local/
解压并重命名:
tar -xvJf /usr/local/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xzmv mysql-8.0.23-linux-glibc2.12-x86_64 mysql
创建数据目录并设置权限:
mkdir mysql-fileschown mysql:mysql mysql-fileschmod 750 mysql-files
初始化MySQL:
bin/mysqld --initialize --user=mysql
生成SSL和RSA文件:
bin/mysql_ssl_rsa_setup
启动MySQL:
bin/mysqld_safe --user=mysql &
登陆并重置密码:
bin/mysql -uroot -p
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
设置开机启动:
cp support-files/mysql.server /etc/init.d/mysql.serverchmod +x /etc/init.d/mysql.serverchkconfig --add mysql.serverchkconfig --list
重启服务器并验证:
reboot
检查启动状态:
ps -ef | grep mysql
高可用MySQL集群安装(HA)
系统需求
硬件需求:
- 3台MySQL服务器(主节点+2个从节点)
- 1台MySQL Shell服务器(管理节点)
- 1台MySQL Router服务器(路由节点)
网络配置
- 3台MySQL服务器:IP地址分别为
node1,node2,node3 - MySQL Shell和Router服务器:IP地址为
node4
MySQL Shell介绍
MySQL Shell(即MySQL CLI)是管理MySQL集群的重要工具,支持JavaScript、Python、SQL交互模式。
下载地址:
https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-8.0.23-linux-glibc2.12-x86-64bit.tar.gz
MySQL Shell安装
tar -zxvf mysql-shell-8.0.23-linux-glibc2.12-x86-64bit.tar.gzmv mysql-shell-8.0.23-linux-glibc2.12-x86-64bit mysql-shell
/usr/local/mysql-shell/bin/mysqlsh
export PATH=/usr/local/mysql-shell/bin:$PATHsource /etc/profile
常用命令
连接MySQL服务器
mysqlshshell.connect('root@node1:3306')mysqlsh -h node1 -P3306 -uroot -p
切换交互模式
- JavaScript:
\js
- Python:
\py
- SQL:
\sql
退出交互模式
\q\quit
操作数据库
进入SQL交互模式后,使用SQL命令操作数据库。
集群配置
检查配置
dba.checkInstanceConfiguration()
如果出现权限不足错误,授予root用户管理权限:
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
创建集群
var cluster = dba.createCluster('mycluster')添加节点:
cluster.addInstance("root@node2:3306")cluster.addInstance("root@node3:3306")切换集群模式
- 单主模式:
cluster.switchToSinglePrimaryMode("root@node1:3306") - 多主模式:
cluster.switchToMultiPrimaryMode()
MySQL Router配置
tar -Jxvf mysql-router-8.0.23-linux-glibc2.12-x86_64.tar.xzmv mysql-router-8.0.23-linux-glibc2.12-x86_64 mysql-router
mysqlrouter --bootstrap root@node1:3306 --user=root
查看路由信息:
cluster.listRouters()
通过以上步骤,可以实现一个高可用性MySQL集群,适用于生产环境。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2026年06月19日 00时36分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP第三方登录—OAuth2.0协议
2025-05-04
php筛选js,php如何多条件筛选js代码
2025-05-04
R730服务器做了raid的硬盘,插在R720上面可以用吗?
2025-05-04
PHP类数组式访问(ArrayAccess接口)
2025-05-04
PHP系列:浅谈PHP中isset()和empty() 函数的区别
2023-03-01
PHP索引数组unset的坑-array_values解决方案
2023-03-01
PHP索引数组排序方法整理(冒泡、选择、插入、快速)
2023-03-01
PHP线程安全和非线程安全
2023-03-01
R3LIVE开源项目常见问题解决方案
2023-03-01
php缃戠珯,www.wfzwz.com
2023-03-01
php缓存查询函数
2023-03-01
php编写TCP服务端和客户端程序
2023-03-01
php编码规范
2023-03-01
PHP编码规范-PSR1、psr2 /psr3 psr4
2023-03-01
PHP编程效率的20个要点
2023-03-01
PHP网页缓存技术优点及代码
2023-03-01
PHP自动化测试(一)make test 和 phpt
2023-03-01
php自定义函数: 文件大小转换成智能形式
2023-03-01
php英语单词,php常用英语单词,快速学习php编程英语(6)
2023-03-01