Ubuntu 16.04 部署MySQL服务

0x00 前言

MySQL是一款开源的关系型数据库管理系统,大量公司都在使用它,或是在它的基础上做二次开发。有时,我们会需要在Linux系统上部署MySQL服务用于测试。

本文是根据网上的经验分享以及亲自实践的过程总结而来。实验环境为:Ubuntu 16.04 x64。

0x01 安装MySQL服务端和客户端

apt install mysql-server -y 
apt install mysql-client -y

安装mysql-server过程中会提示输入root用户密码。

查看mysql版本:

mysqld --version
mysqld  Ver 5.7.22-0ubuntu0.16.04.1 for Linux on x86_64 ((Ubuntu))

使用netstat -an | grep 3306命令测试服务是否安装成功:

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN 

0x02 修改配置文件

mysql默认监听的是回环地址,如果要改为监听全局地址,可以修改mysql的配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf,默认配置如下:

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# 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            = 127.0.0.1

以下行可以修改监听端口:

port            = 13306

修改默认编码为:utf8,在[mysqld]下新增以下行:

collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

重启mysql服务:systremctl restart mysql,确认配置生效

确认编码是否生效的方法是通过mysql -u root -p进入mysql命令行后,使用SHOW VARIABLES LIKE "character_set_server";确认。

mysql> SHOW VARIABLES LIKE "character_set_server";
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| character_set_server | utf8  |
+----------------------+-------+
1 row in set (0.01 sec)

0x03 创建用户和数据库

为了安全性,一般不使用root帐号登录,可以创建子用户登录。

使用mysql -u root -p命令进入mysql命令行,输入以下命令创建用户。

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username:新创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符% password:该用户的登录密码,密码可以为空,如果为空则该用户可以不需要密码登录服务器

此时,该用户还没有对应的数据库,可以使用以下命令创建:

CREATE DATABASE database;

然后授予用户访问权限:

GRANT privileges ON database.table TO 'username'@'host'

privileges:用户的操作权限,如SELECTINSERTUPDATE等,如果要授予所的权限则使用ALL database:数据库名 table:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如: *.*

0x04 客户端访问

在服务器上一般使用mysql命令访问,在本地电脑上我一般使用MySQL-Front软件访问,全部可视化操作,非常方便。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ytkah

防止SQL注入的6个要点

1672
来自专栏C/C++基础

MySQL设置远程访问

在MySQL Server端,执行mysql 命令进入mysql 命令模式。使用grant命令用来建立新用户,指定用户口令并增加用户权限。命令格式如下:

1421
来自专栏xingoo, 一个梦想做发明家的程序员

Mysql日志解析

修改Mysql配置 Mysql配置地址为: C:\Program Files (x86)\MySQL\MySQL Server 5.5 如果无法修改可以把my....

4148
来自专栏python3

解决centos7 /etc/rc.local 不能执行

最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了

1352
来自专栏乐沙弥的世界

MySQL 修改用户密码及重置root密码

    为数据库用户修改密码是DBA比较常见的工作之一。对于MySQL用户账户的密码修改,有几种不同的方式,推荐的方式使用加密函数来修改密码。本文主要描述了通过...

3732
来自专栏窗户

C语言/原子/编译,你真的明白了吗?

  说到原子,类似于以下的代码可能人人都可以看出猫腻。 /* http://www.cnblogs.com/Colin-Cai */ #include <std...

2189
来自专栏西安-晁州

GridFS使用及配合nginx实现文件服务

Mongodb下GridFS使用及配合nginx实现文件服务 一、GridFS简介 GridFS是mongodb下用来存储文件的一种规范,所有官方支持的驱动均实...

6140
来自专栏醉梦轩

Ubuntu 16.04 部署MySQL服务

MySQL是一款开源的关系型数据库管理系统,大量公司都在使用它,或是在它的基础上做二次开发。有时,我们会需要在Linux系统上部署MySQL服务用于测试。

1802
来自专栏酷玩时刻

Centos7.3 安装Mysql5.7并修改初始密码

http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

2034
来自专栏上善若水

013 windows10 mysql的安装

Access denied for user 'root'@'localhost' (using password:YES) 解决方案 问题的解决

1383

扫码关注云+社区

领取腾讯云代金券