Ubuntu下MySQL的安装和配置

一、验证原有主机是否已安装MySQL:

这里主要是运行sudo netstat -tap | grep mysql命令查看是否有MySQL的端口,如果不加sudo的话因为权限无法顺利执行:

  1. $ netstat -tap | grep mysql

二、安装MySQL:

在确认主机未安装MySQL后,运行命令sudo apt-get install mysql-server mysql-client进行在线安装:

  1. $ sudo apt-get install mysql-server mysql-client

在安装的过程中会提示你输入Yes,然后会弹出root密码设置界面,这里可以先设置一个root密码作为登录mysql用户使用,之后需要的时候也可以运行mysqladmin -u root -p password进行修改密码,当然那个时候得先输入原密码了。

  1. $ mysqladmin -u root -p password

错误分析与解决:

另外,在安装过程中也可能没有弹出密码设置界面,这时,当你使用mysql -u root -p 去登录MySQL服务器时,而且你已经输入了密码(尽管你并没有设置),经常会弹出以下窗口:

这个时候,我们所需要做的事就是给root用户设置密码,具体过程如下:

这个时候,再连接MySQL服务器时,就会成功了:

三、启动MySQL:

Ubuntu默认开机启动MySQL服务,同时,也可以输入命令来启动和关闭MySQL:

  1. # 启动MySQL
  2. $ sudo service mysql start
  3. # 关闭MySQL
  4. $ sudo service mysql stop
  5. # 重启MySQL
  6. $ sudo service mysql restart
  7. # 其他命令:
  8. $ sudo /etc/init.d/mysql start
  9. $ sudo /etc/init.d/mysql stop
  10. $ sudo /etc/init.d/mysql restart

然后,再次键入命令来检查是否已启动MySQL:

四、登录MySQL:

使用命令行mysql -u root -p 来登录MySQL:

  1. $ mysql -u root -p

如果是登录远端的MySQL服务器,命令格式为:

  1. $ mysql -h hostname -u username -p
  2. Enter password:

其中,hostname指的是MySQL服务器的IP地址或名字,但是需要远端服务器的授权。

举个例子:

首先,我在192.168.1.108的主机上运行MySQL服务器,现在,我使用root权限登录MySQL,然后增加远端主机用户:

在上图中,我们还测试了root用户所能管理的数据库。

现在,我们在192.168.1.111主机上打开MySQL客户端,并与远端服务器进行连接:

可知,我们成功进行了连接,同时,我们根据服务器所设置的权限,仅仅只能管理mydb数据库的数据操作。

五、配置MySQL:

一些常用命令:

1、创建新数据库:

  1. mysql> create database mydb;

2、创建新用户:

  1. mysql> create user ‘kiterunner‘@‘localhost‘ identified by ‘110316‘;

注意,在上述命令行中‘kiterunner‘代表用户名,‘localhost’代表客户机所在主机,如果你打算今后使用另一台计算机通过网络来连接MySQL服务器,就需要把上例中的localhost改为那台计算机的名字,例如“192.168.1.199”或者“www.chaosir24.com” 等。同时,在上述命令行中,‘110316‘指的是用户‘kiterunner‘的的登录口令。

更改用户名密码见前文。

3、删除用户:

  1. mysql> drop user ‘kiterunner‘@‘localhost‘

4、访问权限设置:

4.1、MySQL赋予用户权限命令的简单格式可概括为:

  1. mysql> grant 权限 on 数据库对象 to 用户 with grant option

(1)、grant普通数据用户,查询、插入、更新、删除数据库中所有表数据的权限

  1. mysql> grant select,insert,update,delete on testdb.* to [email protected]

(2)、grant数据库开发人员,创建表、索引、视图、存储过程、函数等权限

grant创建、修改、删除 MySQL数据表结构权限:

  1. mysql> grant create on testdb.* to [email protected];
  2. mysql> grant alter on testdb.* to [email protected];
  3. mysql> grant drop on testdb.* to [email protected];

grant操作MySQL外键权限:

  1. mysql> grant references on testdb.* to [email protected];

grant操作MySQL临时表权限:

  1. mysql> grant create temporary tables on testdb.* to [email protected];

grant操作MySQL索引权限:

  1. mysql> grant index on testdb.* to [email protected];

grant操作MySQL视图、查看视图源代码权限:

  1. mysql> grant create view on testdb.* to [email protected];
  2. mysql> grant show view on testdb.* to [email protected];

grant操作MySQL存储过程、函数权限:

  1. mysql> grant create routine on testdb.* to [email protected];
  2. mysql> grant alter routine on testdb.* to [email protected];
  3. mysql> grant execute on testdb.* to [email protected];

(3)、grant普通DBA管理某个MySQL数据库的权限

  1. mysql> grant all on testdb.* to [email protected];

(4)、grant高级DBA管理MySQL中所有数据库的权限

  1. mysql> grant all on *.* to [email protected];

(5)、MySQL grant 权限,分别可以作用在多个层次上:

grant作用在整个MySQL服务器上:

  1. mysql> grant select on *.* to [email protected]; -- kiterunner可以查询MySQL中所有数据库中的表。
  2. mysql> grant all on *.* to [email protected]; -- kiterunner可以管理MySQL中的所有数据库

grant作用在单个数据库上:

  1. mysql> grant select on testdb.* to [email protected]; -- kiterunner可以查询testdb中的表

grant作用在表中的列上:

  1. mysql> grant select(id, se, rank) on testdb.apache_log to [email protected];

grant作用在存储过程、函数上:

  1. mysql> grant execute on procedure testdb.pr_add to [email protected];
  2. mysql> grant execute on function testdb.fn_add to [email protected];

4.2、MySQL撤销用户权限命令的简单格式可概括为:

  1. mysql> revoke 权限 on 数据库对象 from 用户

关于具体的权限配置可参考grant配置。

4.3、其他内容:

查看MySQL 用户权限:

  1. //查看当前用户(自己)权限:
  2. mysql> show grants;
  3. //查看其他 MySQL 用户权限:
  4. mysql> show grants for [email protected];

如果想让授权的用户也可以将这些权限grant给其他用户,需要选项“grant option“:

  1. mysql> grant select on testdb.* to [email protected] with grant option;

4.4、实例验证:

例一、常规配置:

我们可以通过grant命令来授权用户权限:

  1. mysql> grant all on mydb.* to [email protected];

上述命令中,grant代表授权命令,‘all on mydb.*‘指的是允许用户对mydb数据库进行任何操作,而to后面所接的‘[email protected]‘代指的授权用户。

现在,我们可以尝试使用该改用登录MySQL服务器(服务器中存储有两个数据库,一个为mydb,另一个为testdb),我们会发现:

可以发现,当我们仅仅授权kiterunner用户只能使用mydb时,当我们使用其他的数据库时,就会发现出现报错:

即kiterunner是没有权限访问testdb数据库的。

当然,如果需要授权kiterunner用户同时可以访问mydb和testdb数据库,可以配置赋予kiterunner用户访问testdb数据库的权限:

现在,当用户kiterunner转换至testdb时,就不会发生错误提示了:

另外,MySQL不仅能限制用户访问单个数据库,还能实现用户的操作权限,例如,当我们限制kiterunner用户仅能进行Select和Insert操作时,我们可以如此进行配置:

现在,当我们使用kiterunner用户时,我们是无法对数据库进行update等操作,只能进行select和insert操作。

另外,我们还需要考虑这样一个问题:当我们已经授予某用户访问某数据库的权限时,如何重新禁止用户访问该数据库?

我们的解决方法是使用revoke命令:

  1. mysql> revoke all on testdb.* from [email protected]

现在便有:kiterunner用户不能访问testdb数据库了。

例二、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作。

解析:

方法一:

  1. mysql> create user ‘test2‘@‘localhost‘ identified by ‘abc‘;
  2. mysql> grant select,insert,update,delete on mydb.* to [email protected]

方法二:

  1. mysql> grant select,insert,update,delete on mydb.* to [email protected] identified by "abc";

同时:

例三、增加一个用户custom,该用户能与主机localhost、server.domain和whitehouse.gov进行数据库连接。该用户希望从 localhost主机存取bankaccount数据库,从whitehouse.gov主机存取expenses数据库和从所有3台主机存取customer数据库,并在所有3台主机上使用口令stupid。

解析:

  1. [email protected]:~$ mysql -u root -p
  2. mysql> grant select,insert,update,delete,create,drop
  3. on bankaccount.* to [email protected] identified by ‘stupid‘;
  4. mysql> grant select,insert,update,delete,create,drop
  5. on expense.* to [email protected].gov identified by ‘stupid‘;
  6. mysql> grant selecr,insert,update,delete,create,drop
  7. on customer.* to [email protected]‘%‘ indentified by ‘stupid‘;

这里的增加用户,需要基于不同的主机,同时设定密码。

5、导入.sql文件:

  1. mysql> source ./create_student.sql

首先,我们看看create_student.sql文件的内容:

  1. # create student table for grade-keeping project
  2. DROP TABLE IF EXISTS student;
  3. #@ _CREATE_TABLE_
  4. CREATE TABLE student
  5. (
  6. name VARCHAR(20) NOT NULL,
  7. sex ENUM(‘F‘,‘M‘) NOT NULL,
  8. student_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  9. PRIMARY KEY (student_id)
  10. ) ENGINE=InnoDB;
  11. #@ _CREATE_TABLE_

执行命令:

现在,利用命令show tables;打印出已经存在的表:

发现student表已经存在于mydb数据库中,说明sql文件导入成功。

来自为知笔记(Wiz)

时间: 2024-11-02 08:05:46

Ubuntu下MySQL的安装和配置的相关文章

Linux(Ubuntu)下MySQL的安装与配置[转载+亲测]

在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今天,需要在Linux下用Qt连接MySQL.遂安装配置了一把. 1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没有安装.若如下显示,则表示已经安装 2)如果没有安装,则安装MySQL. 在终端输入 sudo apt-get install mysql-server mysql-client

Linux(Ubuntu)下MySQL的安装与配置

转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今天,需要在Linux下用Qt连接MySQL.遂安装配置了一把. 1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没有安装.若如下显示,则表示已经安装 2)如果没有安装,则安装MySQL. 在终

Ubuntu下MySQL的安装与配置

1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没有安装.若如下显示,则表示已经安装 2)如果没有安装,则安装MySQL. 在终端输入 sudo apt-get install mysql-server mysql-client 运行结果如下所示: 在此安装过程中会让你输入root用户(管理MySQL数据库用户,非Linux系统用户)密码,按照要求输入即可.如下所示: 3)测试安装是否成功

Ubuntu下MySQL数据库安装与配置

安装: sudo apt-get install mysql-server mysql-client 判断时候成功 sudo service mysql restart 启动 mysql -u root -p 让apache支持mysql sudo apt-get install libapache2-mod-auth-mysql 让php支持mysql sudo apt-get install php5-mysql

ubuntu下Tomcat7的安装和配置

和前几个软件一样,Tomcat 同样是由JAVA开发的,所以,在安装前一定要装好JDK. 大家可以到 http://tomcat.apache.org/download-70.cgi 下载最新的Tomcat. 我下载的是 apache-tomcat-7.0.5.tar.gz 安装: 1.首先,将apache-tomcat-7.0.5.tar.gz移动到 /opt 目录下,并将其解压: 1 2 3  sudo cd apache-tomcat-7.0.5.tar.gz /opt sudo tar

ubuntu下tftp的安装、配置、使用

ubuntu下tftp的安装.配置.使用 1. 安装 $ apt-get install tftp-hpa tftpd-hpa 2. 建立目录 $ mkdir /tftpboot # 这是建立tftp传输目录. $ sudo chmod 0777 /tftpboot $ sudo touch test.txt # test.txt文件最好输入内容以便区分 3. 配置 $ sudo vi /etc/default/tftpd-hpa3. # /etc/default/tftpd-hpa TFTP_

Ubuntu下samba的安装和配置

samba是Linux系统上的一种文件共享协议,可以实现Windows系统访问Linux系统上的共享资源,现在介绍一下如何在Ubuntu 14.04上安装和配置samba一. 一.更新源列表 打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-->回车,就可以了. 二.安装samba 打开"终端窗口",输入"sudo apt-get in

Windows下MySQL下载安装、配置与使用

用过MySQL之后,不论容量的话,发现比其他两个(sql server .oracle)好用的多,一下子就喜欢上了.下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤. (我这个写得有点太详细了,甚至有些繁琐,有很多步骤在其他的教程文档里都是省略掉的,但我还是要写出来,因为我当时走了很多弯路,我希望你们能够避免我走的这些弯路.当然,知道同学的可以略过,选择你想知道的地方看) 第一大步:下载.(不需要注册也可以下载,直接点下面的no thanks) a.俗话说:“巧妇难为无米之炊”嘛!我这里用的是

Linux下MySQL数据库安装与配置

1. 安装MySQL数据库 先从MySQL官网下载MySQL,然后进入所下载的安装文件所在目录,运行如下命令进行安装,其中MySQL-server-community-5.1.56-1.rhel5.i386.rpm为刚刚下载的MySQL数据库服务器的rpm包,然后使用/etc/rc.d/init.d/mysqlrestart命令重启MySQL服务: [[email protected] ~]# rpm -ivh MySQL-server-community-5.1.56-1.rhel5.i386