前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在CentOS上安装MySQL

如何在CentOS上安装MySQL

原创
作者头像
小皇帝James
修改2018-08-14 12:17:24
2.3K0
修改2018-08-14 12:17:24
举报
文章被收录于专栏:云计算教程系列

MySQL是一种流行的数据库管理系统,用于Web和服务器应用程序。本教程将介绍如何在CentOS 6上安装,配置和管理MySQL。

注意 本教程是为非root用户编写的。您需要一台已经设置好可以使用sudo命令的非root账号的CentOS服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器

准备

  • 本教程以腾讯云CVM为例,在开始前,您首先要获取您主机的名称,要检查您的主机名请运行:
代码语言:javascript
复制
hostname
hostname -f

第一个命令应显示您的短主机名,第二个命令应显示您所在的域。

  • 更新您的系统:
代码语言:javascript
复制
sudo yum update

安装并启动MySQL

  • 安装MySQL并告诉它运行级别:
代码语言:javascript
复制
sudo yum install mysql-server
sudo /sbin/chkconfig --levels 235 mysqld on
  • 然后启动MySQL服务器:
代码语言:javascript
复制
sudo service mysqld start

默认情况下,MySQL将绑定到localhost(127.0.0.1)。

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

保护MySQL服务器

  • 运行mysql_secure_installation脚本以解决默认MySQL安装中的几个安全问题。
代码语言:javascript
复制
sudo mysql_secure_installation

您可以选择更改MySQL root密码,删除匿名用户帐户,禁用localhost之外的root登录,以及删除测试数据库。建议您对这些选项回答“是”。

MySQL使用

与MySQL交互的工具是随mysql-server软件包安装的客户端mysql

root登录

  • 以root用户身份登录MySQL:
代码语言:javascript
复制
mysql -u root -p
  • 出现提示时,输入运行mysql_secure_installation脚本时分配的root密码。

然后,您将看到MySQL监视器显示:

代码语言:javascript
复制
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>
  • 要为MySQL生成帮助命令列表,请输入\h。然后你会看到:
代码语言:javascript
复制
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是用户的密码。
代码语言:javascript
复制
create database testdb;
create user 'testuser'@'localhost' identified by 'password';
grant all on testdb.* to 'testuser' identified by 'password';

您可以通过在创建用户来快速创建数据库:

代码语言:javascript
复制
create database testdb;
grant all on testdb.* to 'testuser' identified by 'password';
  • 然后退出MySQL。
代码语言:javascript
复制
exit

创建示例表

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

重置MySQL Root密码

如果您忘记了root MySQL密码,可以通过下面的方法重置。

  • 停止当前的MySQL服务器,然后重新启动它。
代码语言:javascript
复制
sudo /etc/init.d/mysqld stop
sudo mysqld_safe --skip-grant-tables &
  • 使用MySQL root帐户重新连接到MySQL服务器。
代码语言:javascript
复制
mysql -u root
  • 使用以下命令重置root的密码。替换password为强密码。
代码语言:javascript
复制
use mysql;
update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
flush privileges;
exit
  • 然后重启MySQL。
代码语言:javascript
复制
sudo service mysqld restart

您现在可以使用mysql -u root -p再次登录。

优化MySQL

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

  • 将MySQL Tuner下载到您的主目录。
代码语言:javascript
复制
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
  • 要运行它:
代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备
  • 安装并启动MySQL
  • 保护MySQL服务器
  • MySQL使用
    • root登录
      • 创建一个新的MySQL用户和数据库
        • 创建示例表
        • 重置MySQL Root密码
        • 优化MySQL
        • 结论
        相关产品与服务
        云数据库 SQL Server
        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档