如何在Linux 环境下部署 MySQL 数据库?

一、什么是 MySQL 数据库?

MySQL 数据库是一个关系型数据库管理系统,是服务器领域中受欢迎的开源数据库系统,目前有 Oracle 公司主要负责运营与维护。

image

二、MySQL 数据库的特点

  • 多线程、多用户;

  • 简单易用、查询速度快;

  • 安全可靠;

  • 基于 C/S 架构;

三、MySQL 数据库的编译安装

避免出现端口和程序冲突的现象,先查询 MySQL 软件的安装情况,确认没有使用以 RPM 方式安装的 mysql-server、mysql 软件包,否则将其卸载,并安装自带的 ncurses-devel 包;


# rpm -q mysql-server mysql
package mysql-server is not installed
mysql-5.1.71-1.el6.x86_64
# rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
Preparing... ########################################### [100%]
package ncurses-devel-5.7-3.20090208.el6.x86_64 is already installed

解压 cmake 包,编译并安装 cmake 包;


# tar zxf cmake-2.8.6.tar.gz
# cd cmake-2.8.6
# ./configure
# gmake && gmake install

创建运行用户,从而加强数据库服务的权限控制,使用新创建的运行用户,此运行用户不需要直接登录到系统,可以不创建宿主文件夹。



# groupadd mysql
You have new mail in /var/spool/mail/root
# useradd -M -s /sbin/nologin mysql -g mysql

将下载的 MySQL 源码包进行解压,释放到 /usr/src 目录下,并切换到源码目录。



# tar zxf mysql-5.5.22.tar.gz -C /usr/src
# cd /usr/src/mysql-5.5.22/

配置会用到多种字符集的网页,可为数据库系统支持不同的字符集编码,将默认使用的字符集设置为 utf8,并添加其他字符集的支持。


# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

上述配置命令中,各选项参数的含义:

// -DCMAKE_INSTALL_PREFIX:指定将 mysql 数据库安装到某个目录下;
// -DSYSCONFDIR:指定初始化参数文件目录;
// -DDEFAULT_CHARSET:指定默认使用的字符集编码;
// -DDEFAULT_COLLATION:指定默认使用的字符集校对规则;
// -DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码;

编译并安装



# make && make install

对数据库目录进行权限设置



# chown -R mysql:mysql /usr/local/mysql
You have new mail in /var/spool/mail/root

MySQL 源码目录中的 support-files 文件夹下,提供了适合不同数据库的样本配置文件,在不确定数据库系统的应用规模下,选择 my-medium.cnf 文件,可满足企业的应用需求,并根据内容建立 MySQL 数据库系统的 /etc/my.cnf 配置文件。



# rm -rf /etc/my.cnf //如果原来 etc 文件夹下有 my.cnf 文件则可以删除
# cp support-files/my-medium.cnf /etc/my.cnf

初始化数据库,将运行用户 mysql 的身份执行初始化脚本 mysql_install_db,指定数据存放目录等;



# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

验证数据库是否初始化成功:

image.png

为方便在任何目录下使用 MySQL 命令,需要在 /etc/profile 设置环境变量;



# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
You have new mail in /var/spool/mail/root
# . /etc/profile // 立即生效

将 support-files 文件夹下的 mysql.server 脚本文件,将其复制到 /etc/rc.d/init.d 目录下并改名为:mysqld,设置执行权限,通过 chkconfig 命令添加为 mysqld 系统服务。



# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld

若启动 mysqld 系统服务,可使用 service 工具或执行 /etc/init.d/mysqld 脚本来控制 MySQL 数据库服务,当 mysqld 系统服务启动后,可执行 netstat -anpt | grep mysqld 命令来进行验证 TCP 端口是否已经监听到了;



# service mysqld start
Starting MySQL.. [确定]
# /etc/init.d/mysqld status
MySQL running (59041) [确定]
# netstat -anpt | grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 59041/mysqld

四、访问 MySQL 数据库

访问 MySQL 数据库时,我们可以使用 Linux 系统中自带的客户端 mysql 命令工具。默认的管理员用户为:root,密码为空。

若要使用未设置密码的 root 用户登录 MySQL 数据库时,可直接执行 mysql -u root 命令即可登录;

若要使用设置了密码的 root 用户登录 MySQL 数据库时,可直接执行 mysql -u root -p 命令输入正确的密码即可登录;

登录成功后,会进入提示符为“mysql>”数据库的操作环境,可在该环境下输入各种 sql 语句对数据库进行管理,切记每条 sql 语句以分号“;”结束,且操作的 sql 语句可不区分大小写。

执行“show master logs”语句查看当前数据库服务的日志文件信息。

若要退出“mysql>”数据库的操作环境,可执行“exit”或“quit”命令可退出 mysql 命令行工具。

image.png

作者:杰哥的IT之旅
原文链接:https://juejin.cn/post/6976006631028949022

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容