MySQL数据库服务的搭建
MySQL 服务基础:
MySQL是开源的关系型数据库服务器软件:目前由Oracle公司开发和维护。
MySQL的特点:多线程、多用户;基于C/S(客户端/服务器)架构;简单易用、查询速度快;安全可靠。
推荐阅读:
MySQL的编译安装:
为了确保MySQL数据库的完整性、可定制性,本实验采用源码编译的方式安装MySQL数据库系统。软件:mysql-5.1.55.tar.gz。
1、准备工作:
为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况:
[root@ns ~]# rpm -q mysql-server mysql
2、源码编译及安装:
创建运行用户(为了加强数据库服务的权限控制,建议使用专门的运行用户,eg:mysql,此用户不需要直接登录到系统):
[root@ns ~]# useradd -M -s /sbin/nologin mysql
解包(将下载的mysql源码包解压,释放到/usr/src/目录下):
配置(将默认使用的字符集设置为utf8,并添加对gbk、gb2312等其他字符的支持):
必备工作(安装相应的ncurses依赖包):
[root@ns ~]# yum -y install ncurses*
[root@ns mysql-5.1.55]# ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312
命令含义:
--prefix :指定将mysql数据库程序安装到哪个目录;
--with-charset :指定默认使用的字符集编码,应与校对规则相对应,eg: utf8 ;
--with-collation :指定默认使用的字符集校对规则,utf8_general_ci是是适用于UTF-8字符集的通用规则;
- --with-extra-charset :指定额外支持的其他字符集编码,eg: gbk、gb2312等。
(默认不需要修改)
编译并安装:
3、安装后的其他调整:
建立配置文件(在mysql源码目录中的support-files文件夹下,提供了适合不同负载数据库的样本配置文件;如果不确定数据库系统的应用规模,一般选择my-medium.cnf文件即可):
[root@ns mysql-5.1.55]# cp support-files/my-medium.cnf /etc/my.cnf
初始化数据库(为了能够正常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化任务,以便建立用户授权库、表,以及test测试库等。初始化脚本mysql_install_db位于安装目录的bin文件中;同时,还得调整用于存放数据库内容的文件夹归属):[root@ns mysql-5.1.55]# cd /usr/local/mysql/bin/
[root@ns bin]# ./mysql_install_db --user=mysql
[root@ns bin]# chown -R root:mysql /usr/local/mysql/
[root@ns bin]# chown -R mysql /usr/local/mysql/var/
优化执行路径、程序库路径(给至此那个程序添加符号链接,以方便使用):
[root@ns bin]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
[root@ns bin]# ln -s /usr/local/mysql/lib/mysql/* /usr/lib/
[root@ns bin]# ln -s /usr/local/mysql/include/mysql/* /usr/include/
4、添加系统服务:
添加mysqld系统服务,通过chkconfig进行管理,以便直接使用源码包中提供的服务脚本。
定位support-files文件夹下的mysql.server脚本文件,将其复制到/etc/init.d/目录下,并改名为mysqld,并设置执行权限。
[root@ns bin]# cd /usr/src/mysql-5.1.55/
[root@ns mysql-5.1.55]# cp support-files/mysql.server /etc/init.d/mysqld
[root@ns mysql-5.1.55]# chmod a+x /etc/init.d/mysqld
[root@ns mysql-5.1.55]# chkconfig --add mysqld
使用service工具或直接执行/etc/init.d/mysqld 脚本来控制MySQL数据库服务。
[root@ns mysql-5.1.55]# /etc/init.d/mysqld start
[root@ns mysql-5.1.55]# /etc/init.d/mysqld status
[root@ns mysql-5.1.55]# netstat -anpt | grep mysqld
MySQL服务器默认通过 TCP 3306 端口提供服务。
通过编辑/etc/my.cnf 配置文件中[ mysqld ]配置段的“port = 3306 ”行,可以更改监听端口。