首页 > 软件开发 > MYSQL >

MySQL服务器的编译安装与配置

来源:互联网 2023-03-16 23:01:53 版权归原作者所有,如有侵权,请联系我们

MySQL 是一个关系型数据库管理系统,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。已经成为时下最流行的关系型数据库管理系统。下面就看看它是怎么编译安装和使用的吧!DaW办公区 - 实用经验教程分享!

工具/原料

  • Linux服务器或虚拟机(实验用CentOS 6.5虚拟机环境)
  • 最新版 Mysql5.6 的源码包(下载链接:http://pan.baidu.com/s/10Isgu 密码:jkg9)
  • 由于较新版的Mysql使用 cmake 进行配置的,需要先安装 cmake :" yum install cmake "
  • 由于编译安装很费时,可以选择直接使用我编译好的二进制软件包,但是并不保证所有平台通用(下载链接:http://pan.baidu.com/s/1jG892oY 密码:yq4w)

方法/步骤

  • 1

    首先我们先解压Mysql的安装包,建议解压到 /usr/local/src 目录中方便管理DaW办公区 - 实用经验教程分享!

    # tar xf mysql-5.6.16.tar.gzDaW办公区 - 实用经验教程分享!

    # cd mysql-5.6.16DaW办公区 - 实用经验教程分享!

    然后我们执行以下指令对源码包进行预处理:DaW办公区 - 实用经验教程分享!

    cmake DaW办公区 - 实用经验教程分享!

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql DaW办公区 - 实用经验教程分享!

    -DMYSQL_DATADIR=/usr/local/mysql/data DaW办公区 - 实用经验教程分享!

    -DSYSCONFDIR=/etc DaW办公区 - 实用经验教程分享!

    -DWITH_MYISAM_STORAGE_ENGINE=1 DaW办公区 - 实用经验教程分享!

    -DWITH_INNOBASE_STORAGE_ENGINE=1 DaW办公区 - 实用经验教程分享!

    -DWITH_MEMORY_STORAGE_ENGINE=1 DaW办公区 - 实用经验教程分享!

    -DWITH_READLINE=1 DaW办公区 - 实用经验教程分享!

    -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock DaW办公区 - 实用经验教程分享!

    -DMYSQL_TCP_PORT=3306 DaW办公区 - 实用经验教程分享!

    -DENABLED_LOCAL_INFILE=1 DaW办公区 - 实用经验教程分享!

    -DWITH_PARTITION_STORAGE_ENGINE=1 DaW办公区 - 实用经验教程分享!

    -DEXTRA_CHARSETS=all DaW办公区 - 实用经验教程分享!

    -DDEFAULT_CHARSET=utf8 DaW办公区 - 实用经验教程分享!

    -DDEFAULT_COLLATION=utf8_general_ciDaW办公区 - 实用经验教程分享!

    DaW办公区 - 实用经验教程分享!

    配置中指定了安装路径、数据库路径、配置文件路径等参数。等配置结束后可以使用 echo $? 查看返回值确定是否配置成功。我在编译时便遇到了一个名为ncurses-devel 的依赖包没有安装,具体信息请阅读错误提示。等我用yum源安装好后发现无法继续cmake了,只好删除后重新解压源码包才配置成功的。好了 一切没问题了就开始 make && make install 吧!DaW办公区 - 实用经验教程分享!

    # make && make installDaW办公区 - 实用经验教程分享!

    MySQL服务器的编译安装与配置DaW办公区 - 实用经验教程分享!

  • 1该信息未经授权抓取自百度经验
  • 2

    由于源码包比较大,解压后我统计了下,竟然291M,天啊这可得慢慢等待了。我花费了一个多小时才编译完成的,也是够慢了。DaW办公区 - 实用经验教程分享!

    编译安装完成后会生成 /usr/local/mysql 这样一个文件夹,如果选用了直接解压二进制包,就把它解压到 /usr/local 中。我们进入这个文件夹中看看DaW办公区 - 实用经验教程分享!

    bin 这个目录存放着mysql的服务器和客户机程序,我们应该添加到环境变量DaW办公区 - 实用经验教程分享!

    data 这个文件夹就是数据库目录DaW办公区 - 实用经验教程分享!

    include 这里存放着mysql开发用的函数头文件,可以被其他源码包编译时依赖DaW办公区 - 实用经验教程分享!

    lib Mysql运行需要的运行库DaW办公区 - 实用经验教程分享!

    scripts Mysql初始化数据库的脚本,更改数据库目录后也需要进行初始化DaW办公区 - 实用经验教程分享!

    man Mysql是使用手册,需要让man命令识别这个路径才能使用DaW办公区 - 实用经验教程分享!

    support-files 其中存放着Mysql的配置文件模板和服务控制脚本等文件DaW办公区 - 实用经验教程分享!

    Mysql的配置文件为 /etc/my.cnf ,数据库目录为 /usr/local/mysql/dataDaW办公区 - 实用经验教程分享!

    MySQL服务器的编译安装与配置DaW办公区 - 实用经验教程分享!

  • 3

    接下来就开始部署这些文件,然后让Mysql启动起来吧!首先建立mysql用户和组,并不创建家目录,不允许登陆系统DaW办公区 - 实用经验教程分享!

    # groupadd mysqlDaW办公区 - 实用经验教程分享!

    # useradd -M -s /sbin/nologin -g mysql mysqlDaW办公区 - 实用经验教程分享!

    设置mysql安装目录的属主和属组DaW办公区 - 实用经验教程分享!

    # chown -R mysql:mysql /usr/local/mysql/DaW办公区 - 实用经验教程分享!

    给数据库目录可读可写的权限DaW办公区 - 实用经验教程分享!

    # chmod 777 -R /usr/local/mysql/data/DaW办公区 - 实用经验教程分享!

    复制配置文件和服务控制脚本到相应位置DaW办公区 - 实用经验教程分享!

    # cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnfDaW办公区 - 实用经验教程分享!

    # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldDaW办公区 - 实用经验教程分享!

    编辑配置文件 /etc/mysql.cnf,添加:DaW办公区 - 实用经验教程分享!

    basedir = /usr/local/mysqlDaW办公区 - 实用经验教程分享!

    datadir = /usr/local/mysql/dataDaW办公区 - 实用经验教程分享!

    指定安装目录和数据库目录就可以了,其他参数先不用管。如图一所示DaW办公区 - 实用经验教程分享!

    接下来就可以初始化数据库了DaW办公区 - 实用经验教程分享!

    # cd /usr/local/mysqlDaW办公区 - 实用经验教程分享!

    #scripts/mysql_install_db --user=mysqlDaW办公区 - 实用经验教程分享!

    结果如图二所示就代表成功了,可以用 echo $? 查看返回值DaW办公区 - 实用经验教程分享!

    MySQL服务器的编译安装与配置DaW办公区 - 实用经验教程分享!

    MySQL服务器的编译安装与配置DaW办公区 - 实用经验教程分享!

  • 4

    现在就可以启动Mysql数据库服务了 它的启动命令是 mysqldDaW办公区 - 实用经验教程分享!

    # service mysqld startDaW办公区 - 实用经验教程分享!

    然后出现大写的 " SUCCESS "就代表启动成功了,然后用netstat看看它监听的端口吧!DaW办公区 - 实用经验教程分享!

    #netstat -anpt | grep mysqldDaW办公区 - 实用经验教程分享!

    我们发现它默认监听在 TCP 的"3306"端口DaW办公区 - 实用经验教程分享!

    我们可以用它自带的 mysql 命令连接进去看看DaW办公区 - 实用经验教程分享!

    用 -u 指定用户名 -h 指定主机 -p 来输入密码DaW办公区 - 实用经验教程分享!

    # /usr/local/mysql/bin/mysql -u root -h localhost -pDaW办公区 - 实用经验教程分享!

    这个root用户可不是系统登陆的root用户,而是mysql服务器中的一个默认用户。由于我们还没有给root用户设置密码,直接回车就可以进如了,如果出现一个" mysql > "就代表成功了。输入" exit "命令退出。DaW办公区 - 实用经验教程分享!

    总使用绝对路径来执行mysql命令也不是办法,我们把它的环境变量配置下吧DaW办公区 - 实用经验教程分享!

    #echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.shDaW办公区 - 实用经验教程分享!

    # source /etc/profile.d/mysql.shDaW办公区 - 实用经验教程分享!

    好啦,看看是不是能直接执行mysql命令了呢DaW办公区 - 实用经验教程分享!

    MySQL服务器的编译安装与配置DaW办公区 - 实用经验教程分享!

  • 5

    接下来就分析一下my.cnf这个配置文件的各参数意义DaW办公区 - 实用经验教程分享!

    basedir mysql的安装目录DaW办公区 - 实用经验教程分享!

    datadir 数据库目录DaW办公区 - 实用经验教程分享!

    port 指定服务端口,默认3306 端口DaW办公区 - 实用经验教程分享!

    server_id pid文件路径DaW办公区 - 实用经验教程分享!

    socket 套接字DaW办公区 - 实用经验教程分享!

    skip-locking 可避免mysql的外部锁定,降低系统出错几率DaW办公区 - 实用经验教程分享!

    skip-name-resolve 禁止mysql对外部连接进行DNS解析,可节约时间DaW办公区 - 实用经验教程分享!

    key_buffer_size 设置索引缓存区大小,合理调节这个数值可以获得更好的索引处理性能,过度调大反而降低性能。参数没有可以自己添加DaW办公区 - 实用经验教程分享!

    sort_buffer_size 设置排序缓存区的大小 (每个连接独占)DaW办公区 - 实用经验教程分享!

    read_buffer_size 设置查询操作缓存区的大小 (每个连接独占)DaW办公区 - 实用经验教程分享!

    join_buffer_size 设置联合查询操作缓存区的大小 (每个连接独占)DaW办公区 - 实用经验教程分享!

    max_connections 设置服务器最大连接进程数DaW办公区 - 实用经验教程分享!

  • 6

    mysql的root用户没有密码是非常不安全的,接下来我们为它配置一个密码。注意 要给root用户添加密码是需要启动服务的,请确保你的Mysqld服务处于运行状态DaW办公区 - 实用经验教程分享!

    #mysqladmin -u root password "himysql"DaW办公区 - 实用经验教程分享!

    如果已经设置了密码,想去修改 就要在命令上添加 -p 参数,-p 参数是用来提醒输入密码的,就和mysql命令一样DaW办公区 - 实用经验教程分享!

    #mysqladmin -u root password "himysql" -pDaW办公区 - 实用经验教程分享!

    接下来输入旧密码就可以更改新密码了,再试一试,登陆mysql服务器是不是需要使用密码了呢?DaW办公区 - 实用经验教程分享!

    如果是在本机登陆mysql服务器 -h 选项是可以省略的,如果使用root登陆,连-u 参数都可以省略,如果没有密码登录,连 -p 都是可以省略的,比如你第一次启动服务,直接mysql就可以连接上去了DaW办公区 - 实用经验教程分享!

    MySQL服务器的编译安装与配置DaW办公区 - 实用经验教程分享!

  • 7

    这个mysqladmin是Mysql服务器的管理程序,可用于执行检察配置文件、检查服务状态、关闭服务器、创建数据库以及删除数据库等的系统管理操作。其格式如下:DaW办公区 - 实用经验教程分享!

    mysqladmin 选项 参数 . . .DaW办公区 - 实用经验教程分享!

    create db_name 创建一个名为db_name的新数据库DaW办公区 - 实用经验教程分享!

    debug 将debug信息写入错误日志DaW办公区 - 实用经验教程分享!

    drop db_name 删除一个名为db_name的数据库DaW办公区 - 实用经验教程分享!

    extended-status 显示服务器状态变量和他们的值DaW办公区 - 实用经验教程分享!

    flush-hosts 刷新缓存中的所有信息DaW办公区 - 实用经验教程分享!

    flush-logs 刷新所有日志信息DaW办公区 - 实用经验教程分享!

    flush-privileges 重新载入授权表DaW办公区 - 实用经验教程分享!

    flush-status 清除状态变量DaW办公区 - 实用经验教程分享!

    flush-tables 刷新所有的表DaW办公区 - 实用经验教程分享!

    flush-threads 刷新线程的缓存DaW办公区 - 实用经验教程分享!

    ping 显示服务器运行状态DaW办公区 - 实用经验教程分享!

    processlist 正在运行服务器线程的列表DaW办公区 - 实用经验教程分享!

    password new_password 更改密码DaW办公区 - 实用经验教程分享!

    shutdown 关闭服务器DaW办公区 - 实用经验教程分享!

    start-slave 在从服务器上启动同步DaW办公区 - 实用经验教程分享!

    stop-slave 在从服务器上关闭同步DaW办公区 - 实用经验教程分享!

    -u root 指定用户DaW办公区 - 实用经验教程分享!

    -h localhost 指定连接的主机DaW办公区 - 实用经验教程分享!

    -p 指定需要输入密码DaW办公区 - 实用经验教程分享!

    其中一些概念不懂没关系,先眼熟就行了,在后面的学习中将会慢慢了解DaW办公区 - 实用经验教程分享!

    MySQL服务器的编译安装与配置DaW办公区 - 实用经验教程分享!

  • 8

    当我们用mysql命令登陆到服务器后,出现的" mysql > "我们应该怎么操作呢?DaW办公区 - 实用经验教程分享!

    在 mysql > 提示符下可以使用SQL语言或命令对数据库进行管理,每条SQL语句都以" ; " 结束,且不区分大小写。用户可以通过上下键调出曾经输入过的命令。DaW办公区 - 实用经验教程分享!

    对数据库的操作不外乎增删查改,下面就看看一些很简单的命令吧!DaW办公区 - 实用经验教程分享!

    show databases; 查看当前存在的数据库DaW办公区 - 实用经验教程分享!

    use 数据库名称; 使用指定的数据库DaW办公区 - 实用经验教程分享!

    show tables; 查看指定数据库有哪些表DaW办公区 - 实用经验教程分享!

    create database 数据库名称; 创建新数据库DaW办公区 - 实用经验教程分享!

    drop 数据库名称; 删除数据库DaW办公区 - 实用经验教程分享!

    MySQL服务器的编译安装与配置DaW办公区 - 实用经验教程分享!

  • 9

    编译安装Mysql服务器到此也已经差不多了,除了编译时间长了些,按照步骤一步一步下来还是蛮简单的。如果想知道Mysql数据库的更多操作请看下一章:Mysql数据库的管理与备份恢复。一定要动手做一做哦!Enjoy Your Time !o(^▽^)oDaW办公区 - 实用经验教程分享!

  • 注意事项

    • 建议大家自己编译安装Mysql数据库,二进制包是我在CentOS6.5上,32位于64位各编译了一次
    • 如果大家发现了上述有什么错误,记得向我反馈哦

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!DaW办公区 - 实用经验教程分享!


    标签: MYSQL

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号