原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1321079
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。本篇将为大家讲解mysql的简单部署。
Alpha版:一般只在软件开发公司内部运行,不对外公开。 Beta版:完成功能的开发和所有的测试工作之后的产品,不会存在较大的漏洞和BUG,并且邀请和提供给用户体验与测试,以便更全面地测试软件的不足之处或存在的问题。 RC版:属于生产环境发布之前的一个小版本或称候选版本,是测试Beta版本二收集到的BUG或不足之处,根据手机到的信息而进行修复和完善之后的产品。 GA版本:软件产品正式发布的版本,也成生产版本的产品。
第一条产品线:从5.0版本升级到5.1的系列版本,继续完善与改进其用户体验和性能,同时增加新功能。 第二条产品线:为了更好的整合MySQL AB公司,社区和新功能。版本编号从5.4开始,目前发展到5.6。 第三条产品线:为了更好推广MySQL Cluster 版本,从6.0版本开始,目前发展到7.3版本。
环境 CentOS6.4 x86_64位 采用最小化安装,系统经过了基本优化 selinux为关闭状态,iptables为无限制模式 ip:192.168.1.113/24 mysql版本:mysql-5.1.70 源码包存放位置:/server/tools 源码包编译安装位置:/etc/local/软件名称 数据库存放位置:/mydata
[root@c64-web ~]# yum groupinstall "Development tools" "Server Platform Development" -y #安装这两个开发环境的软件包组 [root@c64-web ~]# yum install pcre* -y #安装pcre兼容的正则表达式
[root@c64-web ~]# useradd -s /sbin/nologin -M mysql #创建mysql用户,并加入mysql组,不创建家目录,关闭登陆 [root@c64-web ~]# mkdir /mydata #创建数据库存放目录 [root@c64-web ~]# chown -R mysql.mysql /mydata
[root@c64-web ~]# cd /server/tools [root@c64-web tools]# wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.70.tar.gz
[root@c64-web tools]# tar zxf mysql-5.1.70.tar.gz [root@c64-web tools]# cd mysql-5.1.70 [root@c64-web mysql-5.1.70]# ./configure \ --prefix=/usr/local/mysql \ #设定mysql安装路径,默认为/usr/local --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock \ #指定Mysql socket文件存放目录 --localstatedir=/mydata \ #设定mysql的数据文件存放位置 --enable-assembler \ #允许使用汇编模式(优化性能) --enable-thread-safe-client \ #以线程方式编译客户端 --with-mysqld-user=mysql \ #指定MySQL运行的系统用户 --with-big-tables \ #启用大表支持 --without-debug \ #使用非debug模式 --with-pthread \ #强制使用pthread线程序库编译 --with-extra-charsets=complex \ #复杂字符集支持 --with-readline \ #使用系统readline代替捆绑副本。 --with-ssl \ #启用ssl加密 --with-embedded-server \ #构建嵌入式MySQL库 (libmysqld.a) --enable-local-infile \ #让mysql支持从本地加载数据库(默认关闭) --with-plugins=partition #mysql分区功能支持 --with-plugins=innobase \ #innobas存储引擎支持 --with-mysqld-ldflags=-all-static \ #服务器使用静态库(优化性能) --with-client-ldflags=-all-static #客户端使用静态库(优化性能) [root@c64-web mysql-5.1.70]# make && make install
[root@c64-web mysql-5.1.70]# ./configure –prefix=/usr/local/mysql-5.1.70 –with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock –localstatedir=/mydata –enable-assembler –enable-thread-safe-client –with-mysqld-user=mysql –with-big-tables –without-debug –with-pthread –with-extra-charsets=complex –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=partition –with-plugins=innobase –with-mysqld-ldflags=-all-static –with-client-ldflags=-all-static
[root@c64-web mysql-5.1.70]# cd /root [root@c64-web ~]# ln -s /usr/local/mysql-5.1.70 /usr/local/mysql
[root@c64-web ~]# mkdir /mydata #建立mysql数据文件目录 [root@c64-web ~]# chown -R mysql /mydata #授权mysql用户访问mysql数据库目录
[root@c64-web ~]# ll /server/tools/mysql-5.1.70/support-files/*.cnf -rw-r--r-- 1 root root 4714 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-huge.cnf -rw-r--r-- 1 root root 19763 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-innodb-heavy-4G.cnf -rw-r--r-- 1 root root 4688 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-large.cnf -rw-r--r-- 1 root root 4699 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-medium.cnf -rw-r--r-- 1 root root 2467 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-small.cnf #中小型公司用这个即可 [root@c64-web mysql-5.1.70]# /bin/cp /server/tools/mysql-5.1.70/support-files/my-small.cnf /etc/my.cnf 修改mysql的主配置文件/etc/my.cnf,添加如下1行 datadir=/mydata #我们自定义的数据库存放目录
[root@c64-web ~]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[root@c64-web ~]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf.d/mysql.conf [root@c64-web ~]# ldconfig
[root@c64-web ~]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
[root@c64-web ~]# echo "PATH=/usr/local/mysql/bin:$PATH" >>/etc/profile [root@c64-web ~]# source /etc/profil
[root@c64-web ~]# /usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata --user=mysql #初始化mysql数据库文件 WARNING: The host 'c64-web' could not be looked up with resolveip. This probably means that your libc libraries are not 100 % compatible with this binary MySQL version. The MySQL daemon, mysqld, should work normally with the exception that host name resolving will not work. This means that you should use IP addresses instead of hostnames when specifying MySQL privileges ! #此警告我们可以通过在/etc/hosts文件中修改127.0.0.1后面的localhost为当前c64-web来消除。 Installing MySQL system tables... 131108 18:07:26 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead. #这里的警告无需理会 OK Filling help tables... 131108 18:07:27 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead. #这里的警告无需理会 OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system #这里是说,你可以创建快速启动脚本,我们下面会提到 PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/local/mysql/bin/mysqladmin -u root password 'new-password' /usr/local/mysql/bin/mysqladmin -u root -h lhh password 'new-password' #教你如何创建root用户进入mysql数据库的密码 Alternatively you can run: /usr/local/mysql/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe & #上面的即为开启命令中的一种,后面的&为放入后台执行的意思 You can test the MySQL daemon with mysql-test-run.pl cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl #这里是给你说如何执行测试 Please report any problems with the /usr/local/mysql/scripts/mysqlbug script! #以上为初始化创建mysql数据库文件时产生的信息。 [root@lhh mydata]# cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe & [1] 7146 131108 18:50:37 mysqld_safe Logging to '/mydata/lhh.err'. 131108 18:50:37 mysqld_safe Starting mysqld daemon with databases from /mydata #此处需要敲击回车才能回到命令输入界面。
[root@c64-web ~]# /bin/cp /server/tools/mysql-5.1.70/support-files/mysql.server /etc/init.d/mysqld #拷贝mysql启动脚本mysql命令路径 [root@c64-web ~]# chmod 700 /etc/init.d/mysqld #使脚本可执行 [root@c64-web ~]# /etc/init.d/mysqld start #这是启动数据库方法之一 [root@c64-web ~]# /etc/init.d/mysqld stop #关闭数据库的方法 [root@c64-web ~]# killalll mysqld #关闭数据库的另外一种方法
[root@c64-web ~]# netstat -lnt|grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
[root@c64-web ~]# mysqladmin -u root password 123456 #设置密码 [root@c64-web ~]# history -c #设置之后注意清除历史记录,防止密码泄露 [root@c64-web ~]# mysql -u root -p #连接数据库查看 Enter password: #这里输入刚才设置的密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.70 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; #查看现有的数据库 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.00 sec) mysql> select user(); #查看现有用户 +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec) mysql> quit #退出 Bye
[root@c64-web mysql-5.6.13]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定mysql安装目录 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #Unix socket文件路径,自定义此路径防报错 -DDEFAULT_CHARSET=gbk \ #默认字符 -DDEFAULT_COLLATION=gbk_chinese_ci \ #校验字符 -DEXTRA_CHARSETS=all \ #安装所有扩展字符集 -DWITH_MYISAM_STORAGE_ENGINE=1 \ #安装myisam存储引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安装innodb存储引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安装archive存储引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安装blackhole存储引擎 -DWITH_MEMORY_STORAGE_ENGINE=1 \ #安装memory存储引擎 -DWITH_FEDERATED_STORAGE_ENGINE=1 #安装frderated存储引擎 -DWITH_READLINE=1 \ #快捷键功能 -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据 -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据库存放目录 -DMYSQL_USER=mysql \ #数据库属主 -DMYSQL_TCP_PORT=3306 \ #数据库端口 -DSYSCONFDIR=/etc \ #MySQL配辑文件 -DWITH_SSL=yes #数据库SSL
[root@c64-web mysql-5.6.13]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/mydata -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DSYSCONFDIR=/etc -DWITH_SSL=yes |
[root@c64-web mysql-5.6.13]# ll /server/tools/mysql-5.6.13/support-files/*.cnf -rw-r--r--. 1 root root 1126 Nov 8 01:37 /server/tools/mysql-5.6.13/support-files/my-default.cnf [root@c64-web mysql-5.6.13]# /bin/cp /server/tools/mysql-5.6.13/support-files/my-default.cnf /etc/my.cnf
转自:http://nolinux.blog.51cto.com/4824967/1321079
原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/2009
评论列表(2条)
好文章,内容文从字顺.禁止此消息:nolinkok@163.com
好文章,内容一气呵成.禁止此消息:nolinkok@163.com