设为首页 收藏本站
查看: 565|回复: 0

[经验分享] 源代码安装mysql

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-21 08:38:01 | 显示全部楼层 |阅读模式
1、源代码安装需要解决的问题

    1)、编译环境(Develoment tools);

    2)、指定安装路径(编译前用--prifix指定);

    3)、搜索路径,环境变量(添加进/etc/profile中);

    4)、链接头文件(在/usr/include将源码产生的头文件链接到此处);

    5)、链接库文件(在/etc/ld.so.conf.d/下创建一个.conf结尾的文件,添加库路径即可);

    6)、修改控制脚本(将控制脚本放在/etc/init.d/下,并赋予可执行权限);

    7)、设置开机自启动(chkconfig --add 脚本名称);

    8)、支持man手册(echo "MANPATH  man路径">>/etc/man.config)。


2、mysql数据库简介
    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

3、案列实施
    1)、实验环境:

        操作系统:CentOS6.5-32bit

        开发环境:Development tools,ncurses,ncurses-devel,pcre-devel

        源代码:cmake-2.8.10.2.tar.gz,mysql-5.6.10.tar.gz


    2)、实验步骤:
        拷贝安装所需的源代码
1
2
3
4
[iyunv@fcy mysql]# ll /mnt/mysql/
total 39988
-rw-r--r--. 1 root root  5768373 Jul 20 19:25 cmake-2.8.10.2.tar.gz  #跨平台编译工具
-rw-r--r--. 1 root root 35174149 Jul 20 19:20 mysql-5.6.10.tar.gz    #mysql服务




        安装源代码安装所需环境
1
yum –disablerepo=\* --enablerepo=c6-mediagroupinstall “Development tools” –y




        解压缩到/usr/local/src
1
2
3
4
[iyunv@fcymysql]# tar -zxvf cmake-2.8.10.2.tar.gz -C /usr/local/src
    ......(过程略)
[iyunv@fcy mysql]# tar -zxvfmysql-5.6.10.tar.gz -C /usr/local/src
    ......(过程略)





        进入/usr/local/src/cmake目录,指定安装目录为/usr/local/
1
2
3
4
[iyunv@fcy cmake-2.8.10.2]# ./configure--prefix=/usr/local/
    ......(过程略)
[iyunv@fcy cmake-2.8.10.2]#make &&make install
    ......(过程略)




        进入/usr/local/mysql目录(安装之前记得卸载系统内的低版本mysql,不然会有冲突),进入后查看一下,发现有一个名称为INSTALL_SOURCE的文件,用vim编辑器打开,在3788行左右,有该版本mysql的安装过程
wKioL1WsvAzAU1yoAAJsdMebAaE679.jpg

        Setup的过程
wKiom1Wsul3DzklpAALxF6F2K44206.jpg         用cmake编译mysql源代码(过程较耗时)
1
2
[iyunv@fcy mysql-5.6.10]# cmake .
    ......(过程略)



        过程中会报错,安装ncurses和ncurses-devel即可
wKiom1Wsuy-Dxb3RAAMRZLFUmR4681.jpg         
1
yum–disablerepo=\* --enablerepo=c6-media install ncurses ncurses-devel –y



        安装完成后删除解压的mysql代码包,重新解压缩在编译即可
1
[iyunv@fcy mysql-5.6.10]#Make&& make install



        创建用户组musql
1
[iyunv@fcymysql]# groupadd mysql



        创建用户mysql并加入到mysql组
1
[iyunv@fcymysql]# useradd -r -g mysql mysql



        进入到/usr/local/mysql目录,修改所有文件的用户和组为mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[iyunv@fcy mysql]# chown -R mysql:mysql .
[iyunv@fcy mysql]# ll
total 76
-rw-r--r--. 1 mysql mysql 17987 Jan 23  2013 COPYING
-rw-r--r--. 1 mysql mysql  7468 Jan 23  2013 INSTALL-BINARY
-rw-r--r--. 1 mysql mysql  2552 Jan 23  2013 README
drwxr-xr-x. 2 mysql mysql  4096 Jul 20 21:10bin
drwxr-xr-x. 4 mysql mysql  4096 Jul 20 21:09data
drwxr-xr-x. 2 mysql mysql  4096 Jul 20 21:09docs
drwxr-xr-x. 3 mysql mysql  4096 Jul 20 21:09include
drwxr-xr-x. 3 mysql mysql  4096 Jul 20 21:09lib
drwxr-xr-x. 4 mysql mysql  4096 Jul 20 21:10man
drwxr-xr-x. 10 mysql mysql  4096 Jul 20 21:10 mysql-test
drwxr-xr-x. 2 mysql mysql  4096 Jul 20 21:10scripts
drwxr-xr-x. 28 mysql mysql  4096 Jul 20 21:10 share
drwxr-xr-x. 4 mysql mysql  4096 Jul 20 21:10sql-bench
drwxr-xr-x.  3 mysql mysql 4096 Jul 20 21:10 support-files



        安装mysql默认数据库,并指定运行用户为mysql
1
[iyunv@fcymysql]# scripts/mysql_install_db --user=mysql



        查看/usr/local/mysql/data目录生成的默认数据库
1
2
3
4
5
6
7
8
[iyunv@fcy mysql]# ll data
total 110604
-rw-rw----. 1 mysql mysql 50331648 Jul 2022:12 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Jul 2022:12 ib_logfile1
-rw-rw----. 1 mysql mysql 12582912 Jul 2022:12 ibdata1
drwxr-xr-x. 2 mysql mysql     4096 Jul 20 22:12 mysql
drwx------. 2 mysql mysql     4096 Jul 20 22:12 performance_schema
drwxr-xr-x.2 mysql mysql     4096 Jul 20 21:09 test



        修改/usr/local/mysql/下的所有者为root
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[iyunv@fcy mysql]# chown -R root .
[iyunv@fcy mysql]# ll
total 80
-rw-r--r--. 1 root mysql 17987 Jan 23  2013COPYING
-rw-r--r--. 1 root mysql  7468 Jan 23  2013 INSTALL-BINARY
-rw-r--r--. 1 root mysql  2552 Jan 23  2013 README
drwxr-xr-x. 2 root mysql  4096 Jul 20 21:10bin
drwxr-xr-x. 5 root mysql  4096 Jul 20 22:12data
drwxr-xr-x. 2 root mysql  4096 Jul 20 21:09docs
drwxr-xr-x. 3 root mysql  4096 Jul 20 21:09include
drwxr-xr-x. 3 root mysql  4096 Jul 20 21:09lib
drwxr-xr-x. 4 root mysql  4096 Jul 20 21:10man
-rw-r--r--. 1 root root    943 Jul 20 22:12my.cnf
drwxr-xr-x. 10 root mysql  4096 Jul 20 21:10 mysql-test
drwxr-xr-x. 2 root mysql  4096 Jul 20 21:10scripts
drwxr-xr-x. 28 root mysql  4096 Jul 20 21:10 share
drwxr-xr-x. 4 root mysql  4096 Jul 20 21:10sql-bench
drwxr-xr-x.  3 root mysql 4096 Jul 20 21:10 support-files



        特别的将/usr/local/mysql/data目录的所有者改为mysql
1
2
3
[iyunv@fcy mysql]# chown -R mysql data
[iyunv@fcy mysql]# ll -d data
drwxr-xr-x. 5 mysql mysql 4096 Jul 20 22:12data



        拷贝mysql的主配置文件到/etc/my.cnf
1
[iyunv@fcy mysql]# cpsupport-files/my-default.cnf /etc/my.cnf



        将mysql的路径添加到系统变量
wKioL1Wsv6Civeq0AABPhcv96Q8479.jpg
        刷新脚本并显示
1
2
3
[iyunv@fcy mysql]# source /etc/profile
[iyunv@fcy mysql]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin



        拷贝启动控制脚本到/etc/init.d/ 并重命名为mysqld
1
[iyunv@fcy mysql]# cpsupport-files/mysql.server /etc/init.d/mysqld



        添加mysql为开机自启动
1
2
3
[iyunv@fcy mysql]# chkconfig --add mysqld
[iyunv@fcy mysql]# chkconfig --list |grepmysqld
mysqld            0:off 1:off 2:on 3:on 4:on 5:on 6:off



        将mysql的lib库动态链接到系统lib库
1
2
[iyunv@fcy mysql]# touch/etc/ld.so.conf.d/mysql.conf
[iyunv@fcy mysql]# echo"/usr/local/mysql/lib">>/etc/ld.so.conf.d/mysql



        刷新并查看
1
2
3
4
[iyunv@fcy mysql]# ldconfig
[iyunv@fcy mysql]# ldconfig -pv |grep mysql
         libmysqlclient_r.so.16(libc6) => /usr/lib/mysql/libmysqlclient_r.so.16
         libmysqlclient.so.16(libc6) => /usr/lib/mysql/libmysqlclient.so.16



        将man手册的路径告诉系统,方便查找man的相关帮助信息
1
[iyunv@fcy mysql]# echo "MANPATH/usr/local/mysql/man" >>/etc/man.config



        为mysql的头文件库创建链接
1
2
3
4
5
[iyunv@fcy include]# pwd
/usr/include
[iyunv@fcy include]# ln -s/usr/local/mysql/include/ mysql
[iyunv@fcy include]# ll |grep mysql
lrwxrwxrwx. 1 root root     25 Jul 20 22:51mysql -> /usr/local/mysql/include/



        启动mysql并检查端口3306是否启动
1
2
3
4
[iyunv@fcy include]# service mysqld start
Starting MySQL. SUCCESS!
[iyunv@fcy include]# netstat -tupln |grepmysqld
tcp       0      0 :::3306                     :::*              LISTEN      6496/mysqld



        为mysql数据库设置登录密码(初始密码为空)
1
2
[iyunv@fcy include]# mysqladmin -u root -ppassword '123456'
Enter password:



        使用root账号登录并创建数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@fcy include]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.6.10 Source distribution

Copyright (c) 2000, 2013, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its
affiliates. Other names may be trademarksof their respective
owners.

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

mysql>



        创建数据库testdb

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mysql> create databases testdb;
ERROR 1064 (42000): You have an error inyour SQL syntax; check the manual that corresponds to your MySQL server versionfor the right syntax to use near 'databases testdb' at line 1
mysql> create database testdb;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
5rows in set (0.00 sec)



        查看文件中的数据库testdb

wKiom1Wsv1mwN8dmAAKpM2_Xe_I759.jpg

4、总结
    注意源代码安装过程中的错误信息提示,一般都是缺少库文件或者安装工具,按照提示安装即可。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-88863-1-1.html 上篇帖子: MySQL的常用操作 下篇帖子: 源代码安装Mysql 源代码 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表