MySQL是一种流行的数据库管理系统,用于Web和服务器应用程序。本教程将介绍如何在CentOS 6上安装,配置和管理MySQL。
注意 本教程是为非root用户编写的。您需要一台已经设置好可以使用
sudo
命令的非root账号的CentOS服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。
hostname
hostname -f
第一个命令应显示您的短主机名,第二个命令应显示您所在的域。
sudo yum update
sudo yum install mysql-server
sudo /sbin/chkconfig --levels 235 mysqld on
sudo service mysqld start
默认情况下,MySQL将绑定到localhost(127.0.0.1)。
注意 不建议的公共IP上不受限制地访问MySQL,但您可以通过修改
/etc/my.cnf
的bind-address
参数来更改它侦听的地址。如果您决定将MySQL绑定到公共IP,则应实现仅允许来自特定IP地址的连接的防火墙规则。
mysql_secure_installation
脚本以解决默认MySQL安装中的几个安全问题。sudo mysql_secure_installation
您可以选择更改MySQL root密码,删除匿名用户帐户,禁用localhost之外的root登录,以及删除测试数据库。建议您对这些选项回答“是”。
与MySQL交互的工具是随mysql-server
软件包安装的客户端mysql
。
mysql -u root -p
mysql_secure_installation
脚本时分配的root密码。然后,您将看到MySQL监视器显示:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
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>
testdb
是数据库的名称,testuser
是用户,password
是用户的密码。create database testdb;
create user 'testuser'@'localhost' identified by 'password';
grant all on testdb.* to 'testuser' identified by 'password';
您可以通过在创建用户来快速创建数据库:
create database testdb;
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
如果您忘记了root MySQL密码,可以通过下面的方法重置。
sudo /etc/init.d/mysqld stop
sudo mysqld_safe --skip-grant-tables &
mysql -u root
password
为强密码。use mysql;
update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
flush privileges;
exit
sudo service mysqld restart
您现在可以使用mysql -u root -p
再次登录。
MySQL Tuner是一个Perl脚本,它连接到正在运行的MySQL实例,并根据工作负载提供配置建议。理想情况下,MySQL实例应该在运行MySQL Tuner之前至少运行24小时。实例运行的时间越长,MySQL Tuner给出的建议就越好。
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
perl ./mysqltuner.pl
最终这个命令会输出优化的建议,您可以使用这个工具继续优化MySQL。
现在,您已经学会了在CentOS上安装MySQL,如果您在生产环境使用,我还是建议您直接使用云关系型数据库,云关系型数据库让您在云中轻松部署、管理和扩展的关系型数据库,提供安全可靠、伸缩灵活的按需云数据库服务。腾讯云关系型数据库提供 MySQL、SQL Server、MariaDB、PostgreSQL 数据库引擎,并针对数据库引擎的性能进行了优化。云关系型数据库是一种高度可用的托管服务,提供容灾、备份、恢复、监控、迁移等数据库运维全套解决方案,可将您从耗时的数据库管理任务中解放出来,让您有更多时间专注于您的应用和业务。更多Linux教程请前往腾讯云+社区学习更多知识。
参考文献:《How to Install MySQL on CentOS 6》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。