因为经常要在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. 5JS树形结构菜单和jQuery版

    第一版JS版HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  2. 7——使用TextView实现跑马灯

    首先给TextView添加一个单行限制: android:singleLine="true" - 解决方案一 更改TextView的一个属性: android:ellipsize= ...

  3. C#敏感关键词过滤代码

    System.Text.StringBuilder sb = new System.Text.StringBuilder(text.Length);             string filter ...

  4. TSQL Challenge 2

    和之前发布的TSQL Challenge 1是同一系列的文章,看到那篇学习哪篇,没有固定的顺序,只为锻炼下思维. Compare rows in the same table and group th ...

  5. Java study 1:The note of studying Socket which based UDP

    UDP concept: UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参 ...

  6. 保垒机SSH登录脚本

    线上服务器一般都会有一个保垒机,我们登录线上服务器的时候都要通过这个堡垒机来实现登录,这样我们就要维护很多线上服务器的ip,很麻烦. 所以写了一个脚本用来便捷的登录各个服务器,可以把这个脚本放到跳板机 ...

  7. [转]Traits 编程技法+模板偏特化+template参数推导+内嵌型别编程技巧

    STL中,traits编程技法得到了很大的应用,了解这个,才能一窥STL奥妙所在. 先将自己所理解的记录如下: Traits技术可以用来获得一个 类型 的相关信息的. 首先假如有以下一个泛型的迭代器类 ...

  8. 【转】lua random()

    先来看看这两段代码: ① math.randomseed(os.time())for i=1,10 do n = math.random(10) print(n) 运行结果是: 63210754341 ...

  9. Samba 服务器介绍

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...

  10. nginx反向代理取得IP地址

    nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递 ...