下面就个人这几天在ubunt12.04下安装mysql做一个总结: 在linux下安装mysql有三种方式:第一种以rpm的二进制文件分个安装,第二种是自己编译源码后安装,最后一种是以二进制tar.gz文件来安装。 这三种中,由于最后一种是统一的整体文件,个人感觉最简单,故
下面就个人这几天在ubunt12.04下安装mysql做一个总结:
在linux下安装mysql有三种方式:第一种以rpm的二进制文件分个安装,第二种是自己编译源码后安装,最后一种是以二进制tar.gz文件来安装。
这三种中,由于最后一种是统一的整体文件,个人感觉最简单,故本文将采用此方式来进行安装:
首先到mysql的下载中心上下载最新的tar.gz包:
1.在浏览器中输入http://www.mysql.com/downloads/,进入mysql的下载中心,在这里有使用mysql开发的一些工具,包括mysql的驱动,数据库以及图形开发工具MySQL Workbench等。在这里我们选择MySQL Community Server链接,进入mysql 数据库服务器的下载:
如上,点击“MySQL Community Server”链接进入下载页面,接着选择myql的平台,选择Linux - Generic平台:
然后在其中选择二进制tar.gz文件形式的文件进行下载:
选择32位或64位的下载,这里选择32位的,下载后得到文件mysql-5.5.28-linux2.6-i686.tar.gz,然后将其解压,并重命名为mysql,使用mv命令将其移到/usr/local目录下:
sudo mv ~/下载/mysql /usr/local则得到的目录结构如下:
提示:其中文本文件INSTALL-BINARY详细的记录了mysql在Linux下的安装方法,英文好的同鞋可以直接的查看。
将上面的做好了后,我们现在就可以进入mysql的安装了,根据INSTALL-BINARY文件的描述,可知mysql默认的安装目录就是在/usr/local/mysql,这就是上面为什么我们要将其移动在/uer/local下的原因;如果在你的机器上以前安装有老板本的mysql,需要先将它的文件删除,同时注意删除老板本的etc/my.cnf文件和/etc/mysql目录,这两个文件控制的是mysql的一些配置属性。
按上面的记叙我可以知,先要创建的一个名为mysql的用户组和用户,来承载mysql数据库的运行,使用如下命令:
创建用户组:
sudo groupadd mysql在创建的用户组中创建一个用户:
sudo useradd -r -g mysql mysql这里使用sudo命令是确保以root权限执行此命令,如果你登入本机的用户是root用户,则直接的使用groupadd和useradd命令。
题外话:对应删除用户组及用户的命令是groupdel和userdel。
接着进入mysql目录,修改mysql目录的拥有者,为mysql用户:
进入目录:
cd /usr/local/mysql
修改目录的拥有者:
sudo chown -R mysql . sudo chgrp -R mysql .
这里的点“.”代表的就是当前目录,选项-R表示递归当前目录及其子目录。
现在真正的进入主题,安装mysql,执行命令:
sudo scripts/mysql_install_db --user=mysql其实,这一步正真的目地就是生成一些mysql数据库运行的系统数据库。
注意:在ubuntu 12.04下安装mysql 5.5.28版本执行此命令时,会提示如下错误的信息:
./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
这说明还要安装一个libaio的依赖库,执行如下命令:
sudo apt-get install libaio-dev安装完libaio后,继续执行“sudo scripts/mysql_install_db --user=mysql”命令来进行安装。
执行完上面的命令后,其实就已经完成了mysql的安装,但为了数据库的安全,可以将mysql目录的拥有者改为root用户,并将生成的系统依赖数据赋给mysql用户,执行如下命令:
chown -R root . chown -R mysql data
安装好mysql后,就可以试着启动它,使用如下命令:
sudo ./support-files/mysql.server start同样重启和停止,只需要将上面命令的start改为restart或stop。
启动完mysql后,我们接着可以测试一下,使用“./bin/mysql”命令来进入mysql数据库的控制台,执行SQL命令。
为了数据库的安全我们需要为数据库访问设置密码,可以执行如下命令,将mysql的配置文件安装到/etc目录下:
sudo cp support-files/my-medium.cnf /etc/my.cnf然后更改/etc/my.cnf文件,在[client]段下,取消password注释,并将your_password改为你的密码。
这样设置好后,进入mysql的控制台,则需要使用如下命令:
sudo ./bin/mysql -uroot -p
提示输入密码后,就可以进入控制台了。
最后:
上面介绍的这么多,总结mysql的安装实际上只需执行“sudo ./scripts/mysql_install_db --user=系统用户名“这一条命令,这里设置的系统用户可以直接的使用当前登入系统用户,在linux中查看当前用户的命令是:
who am i同时,如果不想将mysql安装到/usr/local/mysql下,可以使用如下命令将你指定的目录与/usr/local/mysql目录关联:
ln -s <mysql> /usr/local/mysql</mysql>或修改
basedir=<mysql> datadir=<mysql>/data</mysql></mysql>
在启动mysql时,还可以使用如下命令:
sudo ./bin/mysqld_safe --user=mysql &启动后,修改密码也可以使用如下命令:
sudo ./bin/mysqladmin -u root -p password '新密码'
提示输入旧数据库的密码后,密码才变更为新密码。
为了确保数据库中支持中文,可以修改/etc/my.cnf文件:
在[client]段下添加
default-character-set = utf8在[mysqld]段下添加
character_set_server = utf8
安装好mysql后,就可以安装mysql的图形化客服端MySQL Workbench了,可以到http://www.mysql.com/downloads/workbench/下选择合适的版本下载,在上面有ubuntu下的版本,下载后的文件为BED格式,双击后可以直接安装十分方便。
如果在安装好MySQL Workbench后,出现运行mysql.server start无法启动的情况,可以查看一下,是否存在/etc/mysql目录,如果有要将其删除;同时还要检查/etc/my.cnf文件的内容。

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL是一个开源的关系型数据库管理系统,适用于数据存储、管理、查询和安全。1.它支持多种操作系统,广泛应用于Web应用等领域。2.通过客户端-服务器架构和不同存储引擎,MySQL高效处理数据。3.基本用法包括创建数据库和表,插入、查询和更新数据。4.高级用法涉及复杂查询和存储过程。5.常见错误可通过EXPLAIN语句调试。6.性能优化包括合理使用索引和优化查询语句。

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

InnoDB的锁机制包括共享锁、排他锁、意向锁、记录锁、间隙锁和下一个键锁。1.共享锁允许事务读取数据而不阻止其他事务读取。2.排他锁阻止其他事务读取和修改数据。3.意向锁优化锁效率。4.记录锁锁定索引记录。5.间隙锁锁定索引记录间隙。6.下一个键锁是记录锁和间隙锁的组合,确保数据一致性。

MySQL查询性能不佳的原因主要包括没有使用索引、查询优化器选择错误的执行计划、表设计不合理、数据量过大和锁竞争。 1.没有索引导致查询缓慢,添加索引后可显着提升性能。 2.使用EXPLAIN命令可以分析查询计划,找出优化器错误。 3.重构表结构和优化JOIN条件可改善表设计问题。 4.数据量大时,采用分区和分表策略。 5.高并发环境下,优化事务和锁策略可减少锁竞争。

在数据库优化中,应根据查询需求选择索引策略:1.当查询涉及多个列且条件顺序固定时,使用复合索引;2.当查询涉及多个列但条件顺序不固定时,使用多个单列索引。复合索引适用于优化多列查询,单列索引则适合单列查询。

要优化MySQL慢查询,需使用slowquerylog和performance_schema:1.启用slowquerylog并设置阈值,记录慢查询;2.利用performance_schema分析查询执行细节,找出性能瓶颈并优化。

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3汉化版
中文版,非常好用