原创文章,请尊重作者辛勤劳动。
一:在虚拟机安装CentOS6.3
二:在CentOS6.3安装MYSQL
软件版本:
1.1.1 创建新虚拟机,选择自定义方式(Custom)
1.1.2 选择稍后选择系统
1.1.3 选择Linux操作系统,版本选择CentOS 64-bit(因为本人使用的是CentOS-6.3-x86_64)
1.1.4 设置虚拟机名称和存储位置(一定要选择较大磁盘空间)
1.1.5 设置处理器数量
1.1.6 设置内存大小
1.1.7 选择网络链接方式,这里选择NAT方式
注:
l bridged:网桥链接,需要配置IP才能连接INTERNET
l NAT:以宿主机器为代理链接Internet,不需要配置IP
l Host-only:虚拟机仅与宿主机器连接
1.1.8 之后均选择NEXT默认配置,到自定义配置查看时,选择自定义配置
1.1.9 选择光驱,载入CentOS的ISO安装文件
1.1.10 配置虚拟机NAT上网设置,选择“Edit”选项卡,选择“Virtual Network Editor”
注:此处192.168.88.9为宿主机器局域网IP地址,为了给虚拟机设置IP地址方便连接。
1.1.11 启动新建虚拟机
1.1.12 跳过检查
1.1.13 系统操作语言选择English(English)
1.1.14 键盘选择
1.1.15 选择安装使用设备
1.1.16 设置计算机主机名和配置网络
注:
l 这里一定要记得把Connect automatically(自动链接)选上
l 网关为刚才虚拟机网卡配置IP
1.1.17 设置服务器时间,本人选择的上海
1.1.18 设置服务器密码
1.1.19 选择安装类型,这里选择使用所有空间
1.1.20 选择额外安装软件
1.1.21安装完成后,重启服务器
2.0 安装cmake
注:CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
CMake 可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支援 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支持静态与动态程式库的建构。
“CMake”这个名字是“cross platform make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。
我的mysql目录配置如下:
安装路径:/usr/local/mysql
数据库路径:/data/mysql
源码包存放位置:/usr/software
我首先创建了源码包存放位置目录:
mkdir /usr/software
cd /usr/software/
wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz
准备工作:安装基本依赖包,先用yum安装cmake、automake 、autoconf ,另MySQL 5.5.x需要最少安装的包有:bison,gcc、gcc-c++、ncurses-devel
[root@mysql-master1 software]# cd
[root@mysql-master1 ~]# yum install cmake make -y
[root@mysql-master1 ~]#
yum install gcc gcc-c++ autoconf bison automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* -y
[root@mysql-master1 ~]# cd /usr/software
开始编译安装
[root@mysql-master1 software]# tar -zxvf mysql-5.5.28.tar.gz
[root@mysql-master1 software]# cd mysql-5.5.28
[root@mysql-master1 mysql-5.5.28]#
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/ -DMYSQL_TCP_PORT=3306
[root@mysql-master1 mysql-5.5.28]# make && make install
[root@mysql-master1 mysql-5.5.28]# cd
[root@mysql-master1 ~]# groupadd mysql
添加mysql用户组
[root@mysql-master1 ~]# useradd mysql -g mysql -s /sbin/nologin
添加mysql用户
[root@mysql-master1 ~]# cd /usr/local/mysql
[root@mysql-master1 mysql]# chown mysql.mysql -R .
#将mysql目录赋予mysql用户的执行权限
[root@mysql-master1 mysql]# mkdir /data/mysql -p
[root@mysql-master1 mysql]# chown mysql.mysql -R /data/mysql
[root@mysql-master1 mysql]# cp support-files/my-medium.cnf /etc/my.cnf
y 回车
#mysql配置文件
[root@mysql-master1 mysql]# chmod 755 scripts/mysql_install_db
#赋予mysql_install_db执行权限
以下命令为mysql 启动及自启动配置
[root@mysql-master1 mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
添加虚拟机IP地址和主机名
[root@mysql-master1 mysql]# vi /etc/hosts
注:因为作者此处为后期修改的,所以按本文应该是加入 192.168.88.10 mysql1
重新执行
[root@mysql-master1 mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
[root@mysql-master1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mysql-master1 mysql]# chmod 755 /etc/init.d/mysqld
查看mysqld服务是否设置为开机启动
[root@mysql-master1 mysql]# chkconfig --list|grep mysqld
设置为开机启动
[root@mysql-master1 mysql]# chkconfig mysqld on
启动mysql数据库,会输出一系列有用的信息,告诉你接下去如何初始化mysql
[root@mysql-master1 mysql]# service mysqld start
我们来初始化管理员root的密码
[root@mysql-master1 mysql]# /usr/local/mysql/bin/mysqladmin -u root password '123456'
众所周知,mysql有两种帐号类型,即localhost和%,前者限本机连接mysql,后者可用于其它机器远程连接mysql
最后,处理帐号登录问题,让root帐号密码可以本地和远程连接使用
[root@mysql-master1 mysql]# /usr/local/mysql/bin/mysql -u root -p123456
#敲入该命令后,屏幕会提示输入密码,输入上一步设置的yourpassword
删除root密码为空的记录
mysql> use mysql;
mysql> delete from user where password='';
mysql> flush privileges;
配置mysql允许root远程登录
#登录
mysql> grant all privileges on *.* to root@'%' identified by "root";
mysql> UPDATE user SET Password=PASSWORD('123456') where USER='root';
mysql> flush privileges;
mysql> select User,Password,Host from user;
上述命令如果执行成功,结果应该如下图:
mysql> quit
配置iptables,打开3306端口,配置如下
[root@mysql-master1 mysql]# vi /etc/sysconfig/iptables
添加此句:-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
重启iptables生效配置
[root@mysql mysql-5.5.28]# service iptables restart