MySQL是一种流行的数据库管理系统,用于Web和服务器应用程序。本指南将介绍如何在运行Debian 8(Jessie)的Linode上安装,配置和管理MySQL。
大型MySQL数据库可能需要大量内存。因此,我们建议使用高内存Linode进行此类设置。
注意
本教程是为非root用户编写的。需要提升权限的命令以
sudo
为前缀。
要学习本教程,您需要:
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_secure_installation
脚本以解决默认MySQL安装中的几个安全问题。
sudo mysql_secure_installation
您可以选择更改MySQL root密码,删除匿名用户帐户,禁用localhost之外的root登录,以及删除测试数据库。建议您对这些选项回答“是”。您可以在MySQL参考手册中阅读有关该脚本的更多信息。
与MySQL交互的标准工具是mysql
随mysql-server
软件包安装的客户端。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>testuser
。
mysql -u testuser -pcustomers
。这将创建一个表,其中包含INT
整数类型的客户ID字段(对于新记录自动递增,用作主键),以及用于存储客户名称的两个字段。
use testdb; create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);如果您忘记了根MySQL密码,则可以重置密码。
dpkg
将自动重启MySQL,您现在可以使用再次登录mysql -u root -p
。
MySQL Tuner是一个Perl脚本,它连接到正在运行的MySQL实例,并根据工作负载提供配置建议。理想情况下,MySQL实例应该在运行调谐器之前至少运行24小时。实例运行的时间越长,MySQL Tuner给出的建议就越好。
MySQL Tuner是优化MySQL服务器的一个很好的起点,但对于在Linode上利用MySQL的应用程序定制的配置进行额外的研究是明智的。
有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。
更多安装教程请前往腾讯云+社区学习更多知识。
参考文献:How to Install MySQL on Debian 8