0

0

Linux下安装MySQL数据库及其使用_MySQL

php中文网

php中文网

发布时间:2016-06-01 14:11:53

|

954人浏览过

|

来源于php中文网

原创

mysql安装
  一、什麽是 MySQL
  
  MySQL (发音为 "My Ess Que Ell")是 Tcx 公司(http://www.tcx.se)开发的一个多人使用、多执行绪的 SQL 资料库 Server。MySQL 主要的目标在快速、稳定和容易使用。
  
  MySQL 可在此 http://www.mysql.net/ 取得。
  
  二、MySQL 的安装
  
  本文所使用的 MySQL 版本为 mysql-3.22.27.tar.gz(原始码档),作业环境为 RedHat6.0 +CLE0.8 。
  
  MySQL 预设情况下会安装至 /usr/local 目录下,不过为了日後移除方便,建议将 mysql 独立安装在 /usr/local/mysql 目录。底下为安装 MySQL 的步骤:
  
  取得 mysql-3.22.27.tar.gz 後, 於 /usr/local 目录下解开:
  # cd /usr/local
  # tar zxvf mysql-3.22.27.tar.gz
  # cd mysql-3.22.27
  设定 configure 安装选项,选择安装目录 (prefix)以及支援中文 Big5 码(with-charset=big5):
  # ./configure --prefix=/usr/local/mysql #--with-charset=big5
  开始编译并安装:
  # make
  # make install
  # scripts/mysql_install_db
  最後一个步骤是用来产生 MySQL grant tables(会建立一个 mysql 资料库和一些 tables,用来管理使用 MySQL 的授权资讯,也就是使用者有哪些使用资料库的权限)。
  
  三、启动、停止 MySQL
  
  要启动 MySQL 的方法:(以本文将 MySQL 安装在 /usr/local/mysql 为例)
  
  # /usr/local/mysql/share/mysql.server start
  注意在第一次执行前,须将 mysql.server 设成可执行(chmod 744 mysql.server),另外可将这行指令加在 /etc/rc.d/rc.local 档中,让 MySQL 在开机时自动启动。
  
  要停止 MySQL 的方法:
  
  # /usr/local/mysql/bin/mysqladmin shutdown
  如果你为 MySQL Administrator root 帐号(非作业系统的 root)设了密码,要停止 MySQL 则必须像下列这样做,MySQL 会询问你 root 的密码後才会执行 shutdown 的工作:
  
  # /usr/local/mysql/bin/mysqladmin -u root -p shutdown
  
  四、管理与使用 MySQL 简介
  
  在你开始前
  MySQL 提供了许多工具 (Client Tools)来与 MySQL 资料库 Server 连线,其中最主要的为 mysql 交谈式连线工具与 mysqladmin 公用程式,大部份时候使用者会用 mysql 来和资料库 Server 交谈。底下就以 mysql 连线工具来介绍如何维护与使用 MySQL。(以本文安装为例,mysql 工具位於 /usr/local/mysql/bin/mysql)。
  
  mysql 的使用语法如下:
  
  mysql [-u username] [-h host] [-p[password]] [dbname]
  MySQL 资料库有自己一套使用者帐号与权限管控方法,所以这边所指定的 username 与 password 是 MySQL 的使用者与密码,而不是作业系统的使用者与密码(当然任何使用者都能执行 mysql ,然後以 MySQL 的任何帐号进入使用) 。
  
  在你第一次安装好 MySQL 时,MySQL 的管理帐号为 root,没有设定密码 (非作业系统的 root)。所以在开始前,请先照下列步骤为 root 设好密码:
  
  使用 mysql 与 MySQL 资料库 Server 连线:
  # /usr/local/mysql/bin/mysql -u root mysql
  Reading table information for completion of table and column names
  You can turn off this feature to get a quicker startup with -A
  
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 201 to server version: 3.22.27
  
  Type 'help' for help.
  
  mysql>
  
  在下了 mysql -u root mysql 指令,指定以 root 帐号并开启 mysql 系统资料库,连线至 MySQL 後,会看到一些提示讯息与 mysql 工具的提示符号,以後大部份的工作皆在此提示符号下完成。
  
  更改 MySQL系统管理者 root 密码:
  mysql> update user set password=password('新密码') where user='root';
  Query OK, 0 rows affected (0.00 sec)
  Rows matched: 2 Changed: 0 Warnings: 0
  
  mysql> FLUSH PRIVILEGES;
  Query OK, 0 rows affected (0.00 sec)
  
  mysql> quit
  Bye
  注意每个指令後要加上一个分号 ";" 才会让 mysql 开始执行。而第二道指令会让已载入记忆体的 mysql 系统资料库更新,最後离开 mysql 工具程式。
  
  在更新 root 密码後,日後要与 MySQL 连线的方法为:
  
  mysql -u root -p新密码
  或者是这样,让 mysql 询问 root 的密码:
  
  mysql -u root -p
  
  资料库维护
  接下来,我们以简单的通讯录资料库作为例子,来介绍如何用 mysql 工具程式来做资料库的维护(新增、授权、资料表维护等)。
  
  首先,以 MySQL root 帐号连线後建立一 addbook 资料库:
  # /usr/local/mysql/bin/mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 207 to server version: 3.22.27
  
  Type 'help' for help.
  
  mysql> create databae addbook;
  Query OK, 1 row affected (0.00 sec)
  指定使用 addbook 资料库,并建立一个 friends 资料表:
  mysql> use addbook;
  Database changed
  
  mysql> create table friends (
  -> name Char(15),
  -> telphone VarChar(20),
  -> icq Char(10),
  -> address VarChar(30)
  -> );
  Query OK, 0 rows affected (0.00 sec)
  新增几笔资料,并查询看看:
  mysql> insert into friends values(
  -> "maa", "29016710", "46243046", "台北县新庄市"
  -> );
  Query OK, 1 row affected (0.00 sec)
  
  mysql> insert into friends (name, icq, telphone, address ) Values (
  -> "cxlin", "39425893", "7654321", "台北县"
  -> );
  Query OK, 1 row affected (0.01 sec)
  
  mysql> select * from friends;
  +-------+----------+----------+--------------+
  | name | telphone | icq   | address   |
  +-------+----------+----------+--------------+
  | maa  | 29016710 | 46243046 | 台北县新庄市 |
  | cxlin | 7654321 | 39425893 | 台北县    |
  +-------+----------+----------+--------------+
  2 rows in set (0.00 sec)
  
  第二个 insert 指令指定了资料栏位的插入顺序,用法较第一个为弹性,而第一个指令必须依资料表建立结构时的顺序插入资料。
  
  更新、删除资料表记录:
  mysql> update friends set address = "桃园县" where name = "cxlin";
  Query OK, 1 row affected (0.00 sec)
  Rows matched: 1 Changed: 1 Warnings: 0
  
  mysql> select * from friends where name = "cxlin";
  +-------+----------+----------+---------+
  | name | telphone | icq   | address |
  +-------+----------+----------+---------+
  | cxlin | 7654321 | 39425893 | 桃园县 |
  +-------+----------+----------+---------+
  1 row in set (0.00 sec)
  
  mysql> delete from friends where name = "maa";
  Query OK, 1 row affected (0.01 sec)
  
  mysql> select * from friends;
  +-------+----------+----------+---------+
  | name | telphone | icq   | address |
  +-------+----------+----------+---------+
  | cxlin | 7654321 | 39425893 | 桃园县 |
  +-------+----------+----------+---------+
  1 row in set (0.00 sec)
  最後,建好资料库与资料表後,把 addbook 资料库中所有资料表的使用权限(select、insert、update、delete)授权给 maa@localhost(再次提醒,此处的 maa 为 MySQL 的使用者帐号,而非作业系统的 maa 帐号):
  mysql> grant select, insert, update, delete
  -> on addbook.*
  -> to maa@localhost identified by '1234567';
  Query OK, 0 rows affected (0.00 sec)
  之後,可用 maa 的身份进入 MySQL 存取 addbook 资料库:
  
  # /usr/local/mysql/bin/mysql -u maa -p addbook
  Enter password:
  Reading table information for completion of table and column names
  You can turn off this feature to get a quicker startup with -A
  
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 211 to server version: 3.22.27
  
  Type 'help' for help.
  
  mysql> status
  --------------
  ./mysql Ver 9.36 Distrib 3.22.27, for pc-linux-gnu (i686)
  
  Connection id:     26
  Current database:    addbook
  Current user:      maa@localhost
  Server version     3.22.27
  Protocol version    10
  Connection       Localhost via UNIX socket
  UNIX socket       /tmp/mysql.sock
  Uptime:      

相关专题

更多
Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

44

2026.01.15

公务员调剂条件 2026调剂公告时间
公务员调剂条件 2026调剂公告时间

(一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

58

2026.01.15

国考成绩查询入口 国考分数公布时间2026
国考成绩查询入口 国考分数公布时间2026

笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

11

2026.01.15

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

65

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

36

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

75

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

21

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.2万人学习

C# 教程
C# 教程

共94课时 | 6.8万人学习

ASP 教程
ASP 教程

共34课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号