Linux服务器部署系列之二—MySQL篇

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介:


MySQLlinux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL。关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章。 今天我们要谈的是MySQL服务器的部署。

 
一、   安装 MySQL
1. 软件需求:
mysql-5.0.83-linux-i686.tar.gz
 
2.  查看系统中是否已经安装了 MySQL ,如果有卸载所有以 mysql 开头的包。
# rpm  qa | grep  mysql         // 查看系统中是否已经安装了 MySQL
# rpm   mysql-*             // 卸载所有以 mysql 开头的包
# rm   /etc/my.cnf            // 查找 /etc/my.cnf ,如果有删除它
 
3.  安装 MySQL
# useradd  mysql                 // 添加用于启动 MySQL 的用户
# groupadd  mysql                // 添加用于启动 MySQL 的用户组
# tar  zxvf  mysql-5.0.83-linux-i686.tar.gz
# cp  rf  mysql-5.0.83-linux-i686  /usr/local/
# cd  /usr/local
# mv  mysql-5.0.83-linux-i686  mysql
# cd  /usr/local/mysql
# scripts/mysql_install_db           // 初始化授权表
# cd  /usr/local
# chgrp   mysql  mysql
# chown   mysql  mysql/data          // 修改 MySQL 目录的所有权
# ln   /usr/local/mysql/bin/*  /usr/local/bin/
# bin/safe_mysqld  --user=mysql  &              // 启动 Mysql  & 表示后台运行
 
4.  测试
# mysqladmin  status                         // 服务状态查询
# mysql                                   // 登录 Mysql
5.  配置系统启动时自动启动 MySQL
 
6.  修改 MySQL 的最大连接数
# vi /etc/my.cnf
// 添加以下行
说明:
max_connections 设置最大连接数为 1000 max_user_connections 设置每用户最大连接数为 200 wait_timeout 表示 200 秒后将关闭空闲( IDLE )的连接,但是对正在工作的连接不影响。
// 保存退出,并重新启动 MySQL ,然后使用下面的命令查看修改是否成功
 
二、口令修改
1. Mysql 安装好后, root 用户默认是没有密码的,所以我们需要给它添加一个密码。格式如下:
# mysqladmin  -u  root  password   密码
比如,要将 root 的密码设为 123456
# mysqladmin  -u  root  password  123456
2.  添加密码后再连接服务器,就需要用以下格式的命令了:
# mysql  -h   主机名或 IP 地址   -u   用户名   -p
比如,登录本机数据库:
# mysql  -h  localhost  -root  -p
3.  如果用户已经有密码了,需要修改密码,那么需要按以下格式更改密码:
# mysqladmin  -u  root  -p  password   密码
比如,将 root 用户的密码改为 abc123
# mysqladmin  -u  root  -p  password  abc123
 
三、备份
1.  在线备份
在线备份有两种方式,使用 mysqldump 命令或 mysqlhotcopy 命令。
1 mysqldump 命令
  A.  导出指定数据库的表,如果不指定 tables ,将导出整个数据库的所有表:
    # mysqldump  [options]  database  [tables]
  B.  可同时导出多个数据库
# mysqldump  [options]  --database  [options]  db1 [db2 db3 …..]
  C.  导出当前服务器内的所有数据库
# mysqldump  [options]  -all-database  [options]
  D.  如果忘记 mysqldump 的参数,可以使用如下命令查找:
# mysqldump  -help
2) mysqlhotcopy 命令
  Mysqlhotcopy 命令是将某个数据库复制为一个新的数据库副本,而不中止原数据库服务,格式如下:
# mysqlhotcopy  db_name
 
2.  离线备份
   离线备份可以使用 gzip 方式将数据库压缩成 .tgz 文件,比如,将 /usr/local/mysql 下的数据库采用 gzip 方式压缩到 /backup/mysql.tgz 文件中:
  # tar  cvfz  /backup/mysql.tgz  /usr/local/mysql
 
四、故障恢复
   数据库运行久了,偶尔会产生一些故障,这时候我们可以通过 myisamchk 命令进行恢复,格式如下:
  #myisamchk  [options]  tables [.MYI]          //tables[.MYI] 是指数据表所在的文件名
如果只是简单出错,可以使用快速恢复:
  #myisamchk  -r  -q  table_name
如果快速恢复不了了,可以使用直接恢复:
  #myisamchk  -r  table_name
如果直接恢复也不行了,可以使用安全恢复:
  #myisamchk  -safe-recover  table_name
 
五、使用 phpMyAdmin 实现 web 管理
1.  安装
1 )软件需求
phpMyAdmin- 3.2.0 -all-languages
下载地址: http://www.phpmyadmin.net
2 )安装
默认下载的是 .zip 文件,无需编译安装,我们使用 unzip 解压后,存放到 /usr/local/apache/htdocs 目录下,并做好相关配置就可以使用了。 phpMyAdmin 需要 Apache 的支持,关于 Apache 的配置可以参照上一篇文: Linux 服务器部署系列之一 —Apache 篇( http://guoxuemin.blog.51cto.com/379574/168534 )。
 
2.  配置
phpMyAdmin 的配置文件主要是 phpMyAdmin 目录下的 config.inc.php ,默认情况下该文件为 config.sample.inc.php ,需要将其先修改为 config.inc.php
可以根据需要,修改以下行:
说明:
$cfg['Servers'][$i]['host'] = 'localhost';     // 数据库服务器
$cfg['Servers'][$i]['auth_type'] = 'config';  // 登录方式,在自己的机子里调试用 config ,如果在网上用 http cookie
$cfg['Servers'][$i]['user'] = 'root';    // 数据库用户名
$cfg['Servers'][$i]['password'] = '';   // 数据库密码
$cfg['Servers'][$i]['only_db'] = '';    // 数据库名称
$cfg['DefaultLang'] = 'zh';         // 中文显示默认
 
3.  测试
打开浏览器,输入地址: http://192.168.99.9/phpMyAdmin ,就可以看到 MySQL Web 登录界面了。
输入数据的用户名和密码后,就可以打开 Web 管理界面了,如下图:
通过 Web 管理 MySQL 数据库要直观许多,不过,这个要看个人习惯、爱好。
MySQL 的部署完成,结合上一篇文“ Linux 服务器部署系列之一— Apache 篇”( http://guoxuemin.blog.51cto.com/379574/168534 ),就可以配置出著名的“ LAMP 黄金组合”。




     本文转自Tonyguo 51CTO博客,原文链接:http://blog.51cto.com/tonyguo/168810,如需转载请自行联系原作者




相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
7月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1796 5
|
7月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
270 17
|
8月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
1002 13
|
8月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
681 0
监控 安全 Linux
447 0
|
8月前
|
存储 缓存 监控
MySQL服务器配置优化:my.cnf参数调优指南
本文深入解析了MySQL核心配置参数及性能优化技巧,涵盖内存结构、调优原则、存储引擎优化、查询性能优化等内容,通过实战案例帮助读者构建高性能MySQL服务器配置,解决常见的性能瓶颈问题。
1145 0
|
9月前
|
监控 Java Linux
Apache NiFi项目的编译与部署于CentOS服务器
总而言之,Apache NiFi的编译和部署虽然涉及多个步骤,但这些操作步骤简明扼要,即使是不太熟悉Java或Maven的用户也能跟随指南完成。通过遵循上述步骤,您将能够在CentOS服务器上成功部署Apache NiFi,为您的数据流处理任务建立一个功能强大的平台。
546 16
|
弹性计算 Linux
[转]ECS之初体验(Linux)
服务商: 阿里云 操作系统:Linux 64位 Ubantu 20.04 64位
212 0