因为经常要在ubuntu linux的环境下做一些开发工作。很多时候也牵涉到mysql相关的开发工作。于是就把整个过程做了一个整理,以方便以后再次安装配置的时候参考,也希望能够让新手少走点弯路。

其实当时要做的事情主要也就是以下几件,首先要在ubuntu的机器上装一个mysql server,然后需要配置特定的帐号和权限来执行一些sql脚本,创建一个包含有完整数据的环境。现在开始:

1. 安装

如果我们在没有安装mysql的ubuntu系统中输入如下的命令:mysql, 系统会给出如下的提示:

  1. The program 'mysql' is currently not installed.  You can install it by typing:
  2. sudo apt-get install mysql-client-core-5.5

实际上我们安装mysql的时候,可以选择安装server或者client,如果只是安装有client端的话,要连接到安装有server的服务器端才能访问。client提供了和sql脚本交互以及连接某个特定mysql服务器的功能。我们因为需要安装server,使用如下的命令就可以,而且同时也将client也包含安装在内了。

  1. sudo apt-get install mysql-server

安装过程中会提示输入root帐号的密码。root是mysql系统中的管理员角色,具有最高的权限。

输入密码之后会提示再次确认密码,如下图:

确认完密码之后系统会自动完成后续的安装过程。

2. 采用root登录

安装过程之后,我们就可以登录进入mysql server了。mysql 默认的情况下是不允许匿名登录的。如果我们输入如下的命令:mysql,可能会得到如下的错误信息:

  1. ERROR 1045 (28000): Access denied for user 'frank'@'localhost' (using password: NO)

既然我们前面指定了root用户的密码,可以采用如下的命令来登录:

  1. mysql -u root -p

-u 选项用来指定登录的用户,后面的root表示采用root帐号登录。-p选项表示采用密码验证的方式登录。

在输入前面的命令后,系统会提示输入密码,如果正确的话就可以进入系统了。

3. 创建新用户

在大多数情况下,如果我们将结合mysql进行一些开发工作的话,不会直接采用root账户。一般root账户用来做一些系统管理和维护的工作,而且因为root权限太高。如果mysql系统出现问题容易导致所有数据的破坏。所以我们需要专门创建一个特定的用户,由root来给它指派一定的权限。这样,就算该账户出现问题,造成的损失也可能只是该帐号权限范围内的,不至于整体的破坏。

比如说我们要创建一个新的用户,并设置该用户的访问密码,在以root用户登录进入系统后,执行如下命令:

  1. create user 'frank'@'localhost';
  1. set password for 'frank'@'localhost' = password('abcdefg');

前面两条命令分别创建了用户frank并设置了该用户的密码。对于第一个命令,因为该用户是运行在本地'localhost'实例上的,所以需要指定为'用户名'@‘实例名’这种样式。如果我们要采用字符密码的方式来设置的话,需要采用password(''),在后面的括号参数里指定密码。如本例,密码为'abcdefg'。

这样,我们就创建了一个用户并指定了他的密码。后面,我们就需要指定分配权限的资源。假设我们创建一个数据库:sampledb。

  1. create database sampledb;

4. 配置新用户权限

假设我们需要将sampledb的全部权限赋予新创建的用户frank,我们需要执行如下的命令:

  1. grant all privileges on sampledb.* to 'frank'@'localhost';

这是设置权限最简单的一种方式,表示将数据库sampledb的所有访问权限都赋予用户frank.如果需要更加细粒度的控制,则需要考虑不同的访问操作以及数据库的不同部分。

5. 执行脚本

当我们配置好用户之后就可能需要执行一些sql脚本。脚本的执行方式有几种,一种是没有登录进入mysql server的情况下。典型的执行方式如下:

  1. shell> mysql db_name < text_file
  2. shell> mysql db_name -u username -p < text_file

这两种方式分别基于用户认证和非认证的方式来执行。

在登录进入mysql的情况下,可以采用更简单的方式执行:

  1. mysql> source file_name
  2. mysql> \. file_name

总结:

安装和配置mysql的过程稍微有点麻烦,如果习惯了windows下面手工的配置方式的话,会不太习惯。故总结一下,以备参考。

ubuntu安装mysql的步骤和配置总结的更多相关文章

  1. Ubuntu安装MySQL配置远程登录、utf8mb4字符集

    2019/11/19, Ubuntu Server 18.04,MySQL 5.7 摘要:Ubuntu Server 18.04 安装MySQL 5.7 并配置远程登录.utf8mb4字符集 由于My ...

  2. ubuntu安装mysql并使用Navicat连接

    今天配置了一下自己的服务器,发现网上很多教程都有点老,而且不是很全.干脆就写一篇Ubuntu安装mysql,并用Navicat连接的全流程 一.安装mysql 1. sudo apt-get inst ...

  3. ubuntu安装mysql

    好记性不如烂笔头,记录一下,ubuntu安装mysql的指令. 安装MySQL: sudo apt-get install mysql-server sudo apt-get install mysq ...

  4. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  5. Ubuntu 安装 Mysql 5.6 数据库

    Ubuntu 安装 Mysql 5.6 数据库 1)下载: mysql-5.6.13-debian6.0-x86_64.deb http://dev.mysql.com/downloads/mirro ...

  6. Linux Deploy Ubuntu安装MySQL

    一.在Android手机安装Linux 二.Ubuntu安装Mysql 建议在root用户上操作 sudo su 输入密码 (一)安装mysql 1. sudo apt-get install mys ...

  7. ubuntu安装mysql后不能远程访问的方法

    ubuntu安装mysql后不能远程访问的方法1.mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassw ...

  8. Ubuntu安装JDK与环境变量配置

    Ubuntu安装JDK与环境变量配置 一.getconf LONG_BIT 查看系统位数,并下载相应的jdk.我的系统是32位的,所以下载的jdk是:jdk-8u77-linux-i586.gz.并且 ...

  9. Ubuntu安装mysql之后,编译找不到头文件

    解决Ubuntu安装mysql之后找不到mysql.h问题   安装: sudo apt-get install libmysqlclient-dev   编译: gcc test.c -o test ...

随机推荐

  1. php 在web端读出pdf 与各种文件下载

    单纯的下载功能实现 <?php // 表示调用文本类型为pdf的应用 header('Content-type: application/pdf'); // 这句可以输出下载页面进行下载 hea ...

  2. jsp中文乱码终极解决方法(转)

    一, 找出问题的根源乱码可能出现的地方: jsp页面中 jsp页面之间相互传参的参数 与数据库中数据的存取 基本归纳为以上几种. 二, 寻找解决方案 出现在jsp页面中,是由于没有设置jsp页面的中文 ...

  3. Asp.net 主题 【1】

    页面中默认的显示样式太朴素,一页一页的设置控件的显示样式效率又太低,主题和皮肤则提供了一种高效的设计方案.   一.添加主题 二.添加皮肤文件(.skin): 在皮肤文件中添加如下代码 <asp ...

  4. Django 1.10中文文档—第一个Django应用Part1

    在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以 ...

  5. 【COGS 56】质数取石子

    [问题描述] DD 和 MM 正在玩取石子游戏.他们的游戏规则是这样的:桌上有若干石子,DD 先取,轮流取,每次必须取质数个.如果某一时刻某一方无法从桌上的石子中取质数个,比如说剩下 0 个或 1 个 ...

  6. 【USACO 1.2.5】双重回文数

    [题目描述] 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”.例如,12321就是一个回文数,而77778就不是.当然,回文数的首和尾都应是非零的,因此0220就不是回文数. 事 ...

  7. TCP/IP-TCP

    Don't cry over spilt milk. "覆水难收" 参考资料:TCP/IP入门经典 (第五版)  TCP/IP详解 卷一:协议 TCP是协议栈中非常重要的一个部分, ...

  8. 三种php连接access数据库方法

    种是利用php的pdo,一种是odbc,com接口来与access数据库连接.利用pdo与access数据库连接 $path ="f:fontwww.jb51.netspiderresult ...

  9. Flask 快速入门

    最简单的flask程序 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return ...

  10. C语言基础学习运算符-关系运算符

    比较大小 首先,我们得先了解一下布尔类型.C语言的C99标准支持布尔类型,关键字为_Bool,用于表示逻辑值true与false.C语言用值1表示true, 用值0表示false.因此布尔类型实际上是 ...