安装MySQL

在Ubuntu上可以使用Ubuntu Software Center或者apt命令来安装MySQL,两种方式都十分方便。

1. 使用Ubuntu Software Center:打开Ubuntu Software Center,在右上角的搜索框查询mysql,然后选定MySQL Server,点击安装即可。

2. 使用apt:打开终端执行 ”sudo apt-get install mysql-server“ 即可。

MySQL初始配置

MySQL完成安装后可以直接使用root账户登录,且该账户默认是没有密码的。注意这里的root角色就是指你的Ubuntu的root角色,如果你当前使用的系统帐号不是root的话,也不必切换到系统root账户,可以在登录MySQL的时候使用“-u"这个参数来指定登录账户。如:

$ mysql -u root
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
rows in set (0.00 sec) mysql> select Host, User from user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| 127.0.0.1 | root |
| :: | root |
| iUbuntu | |
| iUbuntu | root |
| localhost | |
| localhost | debian-sys-maint |
| localhost | root |
+-----------+------------------+
rows in set (0.00 sec)

因为此时root账户默认没有密码,所以不用输入密码就能以root角色登录并查看所有信息的权限。如果换成非root角色登录MySQL,则只拥有部分数据库操作权限。

$ mysql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
rows in set (0.00 sec) mysql> use mysql
ERROR (): Access denied for user ''@'localhost' to database 'mysql'

因此MySQL完成安装后的第一件事就是给root用户设置密码,否则数据库将毫无安全可言。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "<password>";

将以上命令中的<password>替换为你要设定的密码,以上命令的意思是对在本机(localhost)使用<password>密码登录的root用户赋予所有数据库的操作权限。设置密码后,如果再以root用户登录就需要输入密码了,如:

$ mysql -u root
ERROR (): Access denied for user 'root'@'localhost' (using password: NO)
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.5.-0ubuntu0.13.10. (Ubuntu) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

建立数据库独立用户

因为root用户拥有数据库的所有操作权限,所以不能轻易地提供给别人使用。在一个MySQL实例中可以创建多个数据库,这些数据库可能归属于不同项目,每个数据库的操作角色也不一样。对此可以针对不同那个数据库指定用户进行访问。

首先使用root角色创建一个数据库
mysql> create database db_web_monitor 然后将这个数据库授予一个叫xavier的用户使用
mysql> GRANT ALL PRIVILEGES ON db_web_monitor.* TO xavier@localhost IDENTIFIED BY "xavier";

这样就可以使用xavier用户,密码为xavier在本机登录MySQL操作db_web_monitor数据库了。

$ mysql -u xavier
ERROR (): Access denied for user 'xavier'@'localhost' (using password: NO)
$ mysql -u xavier -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.5.-0ubuntu0.13.10. (Ubuntu) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db_web_monitor |
| test |
+--------------------+
rows in set (0.00 sec) mysql>

开放远程登录权限

1. 首先修改MySQL的配置文件,允许监听远程登录。

$ sudo vi /etc/mysql/my.cnf

找到bind-address所在行

  # Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1 将 bind-address值修改为本机IP即可。 注意注释说明,如果是较老版本的MySQL,此处就应该是skip-networking,直接将其注释即可。

2. 授予用户远程登录权限。

mysql>GRANT ALL PRIVILEGES ON db_web_monitor.* TO xavier@"%" IDENTIFIED BY "xavier";

如此这般,xavier用户就可以在任意主机通过IP访问到本机MySQL,对db_web_monitor数据库进行操作了。

3. 更改sql_mode。

 MySQL 5.5 以后增加了“严格模式”,在严格模式下,如果对要求有默认值的字段不能再缺省写入。

 查看当前是否是严格模式:SELECT @@GLOBAL.sql_mode

查看MySQL当时是否是严格模式,含有STRICT_TRANS_TABLES的就是。

mysql> SELECT @@GLOBAL.sql_mode;

+----------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+ 取消MySQL的严格模式,需要root权限。 mysql> SET @@global.sql_mode='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

  

在MySQL Server 5.6根目录下只有my-default.ini,更改这个文件或者创建my.ini,然后在*.ini文件中设置sql_mode是没有用的。

在 Ubuntu 中安装 MySQL 指南的更多相关文章

  1. Ubuntu 14 安装MySQL指南

    ubuntu 14 安装MySQL指南安装MySQLsudo apt-get install mysql-server这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面 ...

  2. 在Ubuntu中安装MySQL

    在Ubuntu中安装MySQL Ubuntu实用工具系列文章,将介绍基于Linux ubuntu的各种工具软件的配置和使用.有些工具大家早已耳熟能详,有些工具经常用到但确依然陌生.我将记录我在使用操作 ...

  3. 在Ubuntu中安装MySQL (转载)

    MySQL在Linux Ubuntu中安装 本文使用的Linux是Ubuntu 12.04.2 LTS 64bit的系统,安装MySQL数据库软件包可以通过apt-get实现. 在Linux Ubun ...

  4. ubuntu的安装及ubuntu中安装mysql和tomcat

    一.安装ubuntu 1.创建虚拟机 2.向导选择自定义 3.然后下一步再下一步,直到这里,稍后再安装系统 4.然后选择linux,注意这里下面的下拉选择Ubuntu64,因为我们下载的是64位的,如 ...

  5. Ubuntu中安装MySQL

    基本步骤: 1. sudo apt-get install mysql-server 2. apt-get install mysql-client 3.  sudo apt-get install ...

  6. 在ubuntu中安装mysql及简单操作方式

    老规矩,ctrl+alt+t呼出终端, 输入 sudo apt-get update 更新源,否则在运行下面代码时会报出有几个包无法下载,你还是得回来执行这句代码, 输入 sudo apt-get i ...

  7. 如何在ubuntu中安装mysql与mysql workbench

    安装过程如下 sudo apt-get install mysql-server 安装过程中随后设置mysql的密码 之后sudo apt-get install mysql-client 安装好之后 ...

  8. 如何在Ubuntu14.04中安装mysql

    接触过MySQL的小伙伴们都知道,在Windows下安装MySQL是一件让人十分头大的事情,但是在Ubuntu等其他Linux系统中安装MySQL就简单很多了,具体的教程如下.1.在Ubuntu的命令 ...

  9. 在Ubuntu中建立MySQL数据库

    最近在做一个关于云计算安全系统的项目,需要用到MySQL数据库,现在把建立数据库的步骤记录下来. 一.用命令在Ubuntu上安装MySQL # sudo apt-get update # sudo a ...

随机推荐

  1. 6 ways to import data into SQL Server

    I’m going to go over some methods to import data from text files into SQL Server today. The particul ...

  2. Sublime for mac 开发Golang : 一步步环境配置

    安装Golang 在官网上直接下载安装包就可以了.下载pkg格式的最新安装包 ,直接双击运行,一路按照提示操作就可以完成安装. 或者使用brew进行安装 brew install go 完成安装之后, ...

  3. 关于Unity中如何判断一个动画播放结束

    方法一(强力推荐): 在动画结束帧或其他帧处加个动画事件,在播放到这一帧的时候会自动调用这个动画函数 如图,找到对应动画的inspector面板,在里面有个Events下拉条,下拉后在想要的帧的位置添 ...

  4. 去掉WIN7 桌面图标的小箭头

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" ...

  5. C++复合类型(数组)

    1.数组 数组之所以被称为复合类型, 是因为它是使用其他类型来创建的 例如: short months[12]: 那么格式为 typename arrayname [arraysize]  注意:ar ...

  6. 【转】JS对Cookie的读写删除

    JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的.而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一种 ...

  7. perl学习-运算符添加引号

    这个比较有意思,在其它语言中好像没有特别提到 Perl 引号运算符如下表所示. 运算符描述实例 q{ }为字符串添加单引号q{abcd} 结果为 'abcd' qq{ }为字符串添加双引号qq{abc ...

  8. svn -- svn数据仓库

    在svn中我们的项目,不能称之为项目或文件夹,而是称之为“仓库” 仓库的建立步骤: 1.创建代码仓库 l 在任意盘符下建立文件夹(D:\svn\myApp\)做为我们的版本库根目录,如我们需要建立一个 ...

  9. Objective-C MacOS以管理员权限执行程序

    在MacOS下非常多操作是须要管理员权限的, 比方我们执行chmod.在命令行下能够使用sudo chmod来申请以管理员权限执行.可是使用XCode写的程序是不能使用sudo的. 须要自己写代码来申 ...

  10. 轻量实用的PHP分页组件:Paginator

    来源:https://www.helloweba.com/view-blog-453.html demo:https://www.helloweba.com/demo/2017/Paginator/