ubuntu 环境下调试mysql源码_Linux下MySQL源码包手动安装、配置以及测试(亲测可行)...

记下这篇MySQL笔记,望日后有用!RedHat Linux 6采用CentOS yum源,详解mysql的源码安装以及配置。这里继续上篇的博客php,Apache的配置,现在写MySQL的配置。lamp搭建到此成功!

现在开始写MySQL的源码安装以及配置:

1、安装mysql依赖:

yum install cmake

yum install ncurses-devel

tar -zxvf  mysql-5.5.21.tar.gz

3、创建mysql的安装目录及数据库存放目录

mkdir -p /work/installed/mysql  安装目录

mkdir -p /work/installed/mysql/data  数据库存放目录

4、创建mysql用户及用户组

groupadd mysql

useradd -r -g mysql mysql

5、安装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=1

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=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                        //允许从本地导入数据

下面依次执行:

make

make 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=system

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=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=mysql

9、设置环境变量

# 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 mysql

mysql>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 stop

12、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的源码解压包里面执行:

make

make install

最后重启Apache:在Apache安装好的目录下执行restart: /work/installed/apache/bin/apachectl restart

12-2、在Apache的发布主页的目录下编写index.php这个文件。

我的发布目录是:/home/web/index.php

编写php:vim index.php:

内容如下,目的是让它显示刚刚插入的TOM的数据:

$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也搭建成功!

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm

--------------------------------------分割线 --------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值