Welcome 微信登录

首页 / 数据库 / MySQL / Linux下MySQL源码包手动安装、配置以及测试(亲测可行)

记下这篇MySQL笔记,望日后有用!RedHat Linux 6采用CentOS yum源,详解mysql的源码安装以及配置。这里继续上篇的博客php,Apache的配置,现在写MySQL的配置。lamp搭建到此成功!Apache源码安装的笔记:http://www.linuxidc.com/Linux/2015-07/119783.htmPHP源码安装的笔记:http://www.linuxidc.com/Linux/2015-07/119784.htm现在开始写MySQL的源码安装以及配置:1、安装mysql依赖:yum install cmake
yum install ncurses-devel2、下载MySQL的源码安装包并解压:
mysql下载地址:  http://distfiles.macports.org/mysql5/tar -zxvf  mysql-5.5.21.tar.gz3、创建mysql的安装目录及数据库存放目录mkdir -p /work/installed/mysql  安装目录             mkdir -p /work/installed/mysql/data  数据库存放目录4、创建mysql用户及用户组groupadd mysql
useradd -r -g mysql mysql5、安装MySQL:进入解压包文件夹内执行:cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data  -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data  -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1其中:/work/installed/mysql为MySQL的安装目录,这个可以自定义,自己喜欢装哪就装到哪里。参数说明:-DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安装目录-DINSTALL_DATADIR=/usr/local/mysql/data        //数据库存放目录-DDEFAULT_CHARSET=utf8                    //使用utf8字符-DDEFAULT_COLLATION=utf8_general_ci            //校验字符-DEXTRA_CHARSETS=all                        //安装所有扩展字符集-DENABLED_LOCAL_INFILE=1                      //允许从本地导入数据下面依次执行:makemake install如果出现错误:错误: ./bin/mysqld: Character set "utf8-DDEFAULT_COLLATION=utf8_general_ci" is not a compiled character set and is not specified in the "/work/installed/mysql/share/charsets/Index.xml" file错误: ./bin/mysqld: Character set "utf8-DDEFAULT_COLLATION=utf8_general_ci" is not a compiled character set and is not specified in the "/work/installed/mysql/share/charsets/Index.xml" file是字符集和字符冲突了,所以编译的时候要把字符和字符集选项都加上,并且要兼容!修改编译参数:那么执行此条命令:cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=systemcmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system注意,如果重新编译或者编译出错了:注意事项:重新编译时,需要清除旧的对象文件和缓存信息。# make clean# rm -f CMakeCache.txt# rm -rf /etc/my.cnf然后再:make , make install即可。6、设置目录权限在安装好的mysql目录下执行命令: chown -R root:mysql .   //把当前目录中所有文件的所有者所有者设为root,所属组为mysql chown -R mysql:mysql data
7、将mysql的启动服务添加到系统服务中cp support-files/my-medium.cnf /etc/my.cnf
8、创建系统数据库的表scripts/mysql_install_db --user=mysql9、设置环境变量# vi /root/.bash_profile在PATH=$PATH:$HOME/bin添加参数为:PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib# source /root/.bash_profile
10、启动mysql法1:
在mysql安装好的目录下执行来启动MySQL: 
./bin/mysqld_safe --user=mysql & 启动日志写在此文件下:/work/installed/mysql/data/localhost.err  目录个人而异,自己的安装目录法2:
cp support-files/mysql.server  /etc/init.d/mysql //将mysql的启动服务添加到系统服务中
# service mysql.server start# service mysql.server stop# service mysql.server restart另外关闭MySQL服务的命令是:mysqladmin -u root -p shutdown 11、修改MySQL的root用户的密码以及打开远程连接# mysql -u root mysqlmysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力。
mysql>update user set Password = password("xxxxxx") where User="root";  //这里的XXXX为自己输入的MySQL密码,root用户
mysql>select Host,User,Password  from user where User="root";
mysql>flush privileges;
mysql>exit重新登录:mysql -u root -p若还不能进行远程连接,则关闭防火墙
[root@ rhel5~]# /etc/rc.d/init.d/iptables stop12、12-1、测试MySQL并将MySQL与php结合起来登录mysql: mysql -u root -p输入密码:mysql(输入自己设定的mysql密码)下面建立数据库,建立表,插入数据:mysql> create database test1;
mysql> use test1;
mysql> create table student(id int(4) not null primary key auto_increment,name char(20));
mysql> insert into student(name) values("Tom");   这里插入了TOM的名字,接下来配置php,以及编写发布的主页内容:重新配置php:./configure --prefix=/work/installed/php  --with-apxs2=/work/installed/apache/bin/apxs --with-mysqli=/work/installed/mysql/bin/mysql_config这里的php安装路径是自己原来配置安装好的,根据自己的情况而定。上一篇PHP配置:http://www.linuxidc.com/Linux/2015-07/119784.htmApache配置:http://www.linuxidc.com/Linux/2015-07/119783htm 然后在php的源码解压包里面执行:makemake install最后重启Apache:在Apache安装好的目录下执行restart: /work/installed/apache/bin/apachectl restart
 12-2、在Apache的发布主页的目录下编写index.php这个文件。我的发布目录是:/home/web/index.php编写php:vim index.php:内容如下,目的是让它显示刚刚插入的TOM的数据:<?php
  $mysql=new mysql();
  $mysql->connect("localhost","root","mysql","test1");
  // 创建查询
  $sqlstr="select * from student";
  //发送查询给MySql
  $result=$mysql->query($sqlstr);
    while($row=$result->fetch_object())
    {
      $name=$row->name;
      echo $name;
    }
?>再重启一下Apache吧:./apachectl restart如果显示Tom的话说明mysql成功!到此mysql安装完成!lamp===Apache+mysql+php也搭建成功!--------------------------------------分割线 --------------------------------------MySQL5.7.3.0安装配置图解教程 http://www.linuxidc.com/Linux/2014-10/108397.htmUbuntu 14.04下安装MySQL http://www.linuxidc.com/Linux/2014-05/102366.htm《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htmUbuntu 14.04 LTS 安装 LNMP NginxPHP5 (PHP-FPM)MySQL http://www.linuxidc.com/Linux/2014-05/102351.htmUbuntu 14.04下搭建MySQL主从服务器 http://www.linuxidc.com/Linux/2014-05/101599.htmUbuntu 12.04 LTS 构建高可用分布式 MySQL 集群 http://www.linuxidc.com/Linux/2013-11/93019.htmUbuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htmMySQL-5.5.38通用二进制安装 http://www.linuxidc.com/Linux/2014-07/104509.htm--------------------------------------分割线 --------------------------------------本文永久更新链接地址