MySQL是一种流行的数据库管理系统,用于Web和服务器应用程序。本指南将介绍如何在Debian 7(Wheezy)的Linode上安装,配置和管理MySQL。
大型MySQL数据库可能需要大量内存。因此,我们建议使用高内存Linode进行此类设置。
注意 本教程是为非root用户编写的。需要提升权限的命令以sudo为前缀。
没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。
sudo apt-get install mysql-server
在安装过程中,系统将提示您为MySQL root用户设置密码,如下所示。选择一个强密码并将其保存在安全的地方,以备将来参考。
默认情况下,MySQL将绑定到localhost(127.0.0.1)。有关使用本地客户端连接数据库的信息,请参阅我们的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客户端通过终端使用。
1. 以root用户身份登录MySQL:
mysql -u root -p
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>
2. 出现提示时,输入root密码。然后,您将看到欢迎标题和MySQL提示符,如下所示:
mysql>
3. 要为MySQL提示生成命令列表,请输入\h
。然后你会看到:
testdb
是数据库的名称,testuser
是用户,password
是用户的密码。create database testdb;
create user 'testuser'@'localhost' identified by 'password';
grant all on testdb.\* to 'testuser' identified by 'password';exit
testuser
。
mysql -u testuser -p
customers
。这将创建一个表,其中包含INT
整数类型的客户ID字段(对于新记录自动递增,用作主键),以及用于存储客户名称的两个字段。use testdb;
create table customers (customer\_id INT NOT NULL AUTO\_INCREMENT PRIMARY KEY, first\_name TEXT, last\_name TEXT);exit
如果您忘记了根MySQL密码,则可以重置密码。
sudo /etc/init.d/mysql stop
sudo dpkg-reconfigure mysql-server-5.5
dpkg将自动重启MySQL,您将能够使用登录mysql -u root -p
。
MySQL Tuner是一个Perl脚本,它连接到正在运行的MySQL实例,并根据工作负载提供配置建议。理想情况下,MySQL实例应该在运行调谐器之前至少运行24小时。实例运行的时间越长,MySQL Tuner给出的建议就越好。
sudo apt-get install mysqltuner
mysqltuner
系统将要求您提供MySQL root用户的名称和密码。输出将显示两个感兴趣的领域:一般建议和要调整的变量。MySQL Tuner是优化MySQL服务器的一个很好的起点,但是使用Linode上的MySQL为应用程序量身定制的配置执行额外的研究一定要谨慎。
有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。
更多Debian 7和MySQL相关教程请前往腾讯云+社区学习更多知识。