如何在Debian 8上安装MySQL

介绍

MySQL是一种流行的数据库管理系统,用于Web和服务器应用程序。本指南将介绍如何在运行Debian 8(Jessie)的Linode上安装,配置和管理MySQL。

大型MySQL数据库可能需要大量内存。因此,我们建议使用高内存Linode进行此类设置。

注意

本教程是为非root用户编写的。需要提升权限的命令以sudo为前缀。

准备

要学习本教程,您需要:

安装MySQL

sudo apt-get install mysql-server

在安装过程中,系统将提示您为MySQL root用户设置密码,如下所示。选择一个强密码并将其保存在安全的地方,以备将来参考。

默认情况下,MySQL将绑定到localhost(127.0.0.1)。有关使用SSH连接数据库的信息,请参阅我们的MySQL远程访问指南

注意: 允许在不建议的公共IP上不受限制地访问MySQL,但您可以通过修改bind-address参数来更改它侦听的地址/etc/my.cnf。如果您决定将MySQL绑定到公共IP,则应实现仅允许来自特定IP地址的连接的防火墙规则。

强化MySQL服务器

运行该mysql_secure_installation脚本以解决默认MySQL安装中的几个安全问题。

sudo mysql_secure_installation

您可以选择更改MySQL root密码,删除匿名用户帐户,禁用localhost之外的root登录,以及删除测试数据库。建议您对这些选项回答“是”。您可以在MySQL参考手册中阅读有关该脚本的更多信息。

使用MySQL

与MySQL交互的标准工具是mysqlmysql-server软件包安装的客户端。MySQL客户端通过终端使用。

root登录

  1. 以root用户身份登录MySQL: mysql -u root -p
  2. 出现提示时,输入root密码。 然后,您将看到欢迎标题和MySQL提示符,如下所示: mysql>
  3. 要为MySQL提示生成命令列表,请输入\h。然后你会看到: List of all MySQL commands: Note that all text commands must be first on line and end with ';' ? (\?) Synonym for `help'. clear (\c) Clear command. connect (\r) Reconnect to the server. Optional arguments are db and host. delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter. edit (\e) Edit command with $EDITOR. ego (\G) Send command to mysql server, display result vertically. exit (\q) Exit mysql. Same as quit. go (\g) Send command to mysql server. help (\h) Display this help. nopager (\n) Disable pager, print to stdout. notee (\t) Don't write into outfile. pager (\P) Set PAGER [to_pager]. Print the query results via PAGER. print (\p) Print current command. prompt (\R) Change your mysql prompt. quit (\q) Quit mysql. rehash (\#) Rebuild completion hash. source (\.) Execute an SQL script file. Takes a file name as an argument. status (\s) Get status information from the server. system (\!) Execute a system shell command. tee (\T) Set outfile [to_outfile]. Append everything into given outfile. use (\u) Use another database. Takes database name as argument. charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. warnings (\W) Show warnings after every statement. nowarning (\w) Don't show warnings after every statement. For server side help, type 'help contents' mysql>

创建一个新的MySQL用户和数据库

  • 在下面的示例中,testdb是数据库的名称,testuser是用户,password是用户的密码create database testdb; create user 'testuser'@'localhost' identified by 'password'; grant all on testdb.* to 'testuser'; 您可以通过在分配数据库权限时创建用户来缩短此过程: create database testdb; grant all on testdb.* to 'testuser' identified by 'password';
  • 然后退出MySQL。 exit

创建示例表

  1. 重新登录testuser。 mysql -u testuser -p
  2. 创建一个名为的示例表customers。这将创建一个表,其中包含INT整数类型的客户ID字段(对于新记录自动递增,用作主键),以及用于存储客户名称的两个字段。 use testdb; create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
  3. 然后退出MySQL。 exit

重置MySQL Root密码

如果您忘记了根MySQL密码,则可以重置密码。

  1. 停止当前的MySQL服务器实例。 sudo systemctl stop mysql.service
  2. 使用dpkg重新运行MySQL在首次安装时经历的配置过程。您将再次被要求设置root密码。 sudo dpkg-reconfigure mysql-server-5.5

dpkg将自动重启MySQL,您现在可以使用再次登录mysql -u root -p

调整MySQL

MySQL Tuner是一个Perl脚本,它连接到正在运行的MySQL实例,并根据工作负载提供配置建议。理想情况下,MySQL实例应该在运行调谐器之前至少运行24小时。实例运行的时间越长,MySQL Tuner给出的建议就越好。

  1. 从Ubuntu的存储库安装MySQL Tuner。 sudo apt-get install mysqltuner
  2. 运行它: mysqltuner 系统将要求您提供MySQL root用户的名称和密码。输出将显示两个感兴趣的领域:一般建议和要调整的变量。

MySQL Tuner是优化MySQL服务器的一个很好的起点,但对于在Linode上利用MySQL的应用程序定制的配置进行额外的研究是明智的。

更多信息

有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。

更多安装教程请前往腾讯云+社区学习更多知识。

参考文献:How to Install MySQL on Debian 8

本文的版权归 阿小庆 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏做全栈攻城狮

C#(Net)软件开发常用工具汇总,提高你的开发效率

作为C#语言官方的开发工具,VS的强大只有在多种语言开发工具使用之后,你才会明白VS的强大之处。可谓神器。其中,开发工具尽量选择版本高的。数据库尽量选择版本低的...

20920
来自专栏文渊之博

SQL Server中的锁的简单学习

简介     在SQL Server中,每一个查询都会找到最短路径实现自己的目标。如果数据库只接受一个连接一次只执行一个查询。那么查询当然是要多快好省的完成工作...

29450
来自专栏DHUtoBUAA

Python读取SQLite文件数据

  近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性、并发性要求不高的场景下可以尝试!   ...

64690
来自专栏芋道源码1024

数据库中间件 MyCAT源码分析 —— XA分布式事务

---- 1. 概述 2. XA 概念 3. MyCAT 代码实现 3.1 JDBC Demo 代码 3.2 MyCAT 开启 XA 事务 3.3 MyCAT...

45490
来自专栏c#开发者

Oracle 开放源代码项目

Oracle 开放源代码项目 这是无数个可扩展、使用以及构建于 Oracle 技术的开放源代码项目中的一个简短的示例。如果您有自己喜欢的开放源代码项目未在此处列...

89480
来自专栏云计算

如何在Debian 7上安装MySQL

MySQL是一种流行的数据库管理系统,用于Web和服务器应用程序。本指南将介绍如何在Debian 7(Wheezy)的Linode上安装,配置和管理MySQL。

13730
来自专栏数据和云

举一反三:跨平台版本迁移之 XTTS 方案操作指南

作者 | 罗贵林: 云和恩墨技术工程师,具有8年以上的 Oracle 数据库工作经验,曾任职于大型的国家电信、省级财政、省级公安的维护,性能调优等。精通 Ora...

18830
来自专栏cs

知识点找回2.0

Servlet(server Applet),全称Java Servlet, 是用java编写的服务器端程序。而这些Servlet都要实现Servlet的这个借...

9310
来自专栏Linyb极客之路

MySQL 之 SQL 优化实战记录

N个机台将业务数据发送至服务器,服务器程序将数据入库至MySQL数据库。服务器中的javaweb程序将数据展示到网页上供用户查看。

13610
来自专栏Laoqi's Linux运维专列

MySQL性能调优 – 你必须了解的15个重要变量

2.6K20

扫码关注云+社区

领取腾讯云代金券