环境win7下VMware12Pro,虚拟机centos6.5mini
网络适配器“桥接模式”
继续上一次的Apache编译后,编译安装MysqL5.6
MysqL5.6和以前的版本不同之处在于用cmake就行编译,先安装cmake
#yum install cmake -y
1、开始下载编译MysqL5.6,推荐镜像网站http://mirrors.sohu.com
#wget http://mirrors.sohu.com/MysqL/MysqL-5.6/MysqL-5.6.35.tar.gz
#tar xf MysqL-5.6.35.tar.gz
#cd MysqL-5.6.35.tar.gz
yum install ncurses-devel -y //编译时会提示依赖ncurses-devel,删除解压文件夹,重新解压,重新编译
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/MysqL \
-DMysqL_DATADIR=/usr/local/MysqL/data \
-DSYSCONFDIR=/etc
-DMysqL_UNIX_ADDR=/tmp/MysqL.sock \
多次在centos6.5mini环境编译尝试,多次出错,所以把MysqL.sock,文件编译到默认目录/tmp/MysqL.sock
cmake命令执行结束后,执行命令echo $? 如果返回0,则执行make && make install
这个编译时间较长,我的在27分钟,如果你的配置足够好,时间更少
2、对MysqL进行简单的配置
首先建立MysqL用户和组,注意MysqL用户不允许登录系统,也没有必要创建家目录!
groupadd MysqL
useradd -M -s /sbin/nologin -g MysqL MysqL
设置MysqL安装目录的属主和属组
chown -R MysqL:MysqL /usr/local/MysqL
给数据库data目录可读写的权限
chmod 777 -R /usr/local/MysqL/data
复制配置文件和服务控制脚本到相应位置
cp /usr/local/MysqL/support-files/my-default.cnf /etc/my.cnf
cp /usr/local/MysqL/support-files/MysqL.server /etc/init.d/MysqLd
basedir = /usr/local/MysqL
datadir = /usr/local/MysqL/data
其他参数默认就好。
下面就行初始化数据库
cd /usr/local/MysqL
scripts/MysqL_install_db --user=MysqL
再执行echo $? 返回的状态码是0,则数据库初始化成功
service MysqLd start
出现大写的“SUCCESS”就代表启动成功了,
MysqL服务器默认密码为空,
执行/usr/local/MysqL/bin/MysqL 就可以登录数据库了(默认root用户,是MysqL的root,不是系统root)
show databases; ##命令输入正确后,记得“;”
use MysqL;
select host,user,password from MysqL.user;
还记得Apache吗?对,要把MysqL的bin添加到系统环境变量中
echo 'export PATH=$PATH:/usr/local/MysqL/bin' > /etc/profile.d/MysqL.sh
chmod +x /etc/profile.d/MysqL.sh
source /etc/profile.d/MysqL.sh
退出linux系统,再登录让系统重新读取配置文件,然后就可以直接执行MysqL,不用写冗长的路径了!
>show database;
>use MysqL; ##你所有的MysqL用户和密码等信息都保存在此数据库的user表
>select user,host,password from MysqL.user; ##MysqL用户名认证是基于user和host
>update user set password=password('你的密码') where user='root' and host='127.0.0.1';
>flush privileges; ##更新内存数据
>set password for 'root'@'localhost'=password('你的密码');
>flush privileges;
几个MysqL常用的语句:
>create database testdb;
>use testdb;
>create table mytest ( id int(6) unsigned not null auto_increment,name varchar(40),age int(2),college varchar(36),habit blob,primary key(id));
>desc mytest;
>insert into mytest (name,age,college,habit) value ('channel',32,'信阳农院','English,Boxing');
>select * from mytest;
>update mytest set age=26 where name='channel';
>select * from mytest;
>grant all privileges on testdb.* to test@'' identified by '12345';
>flush privileges;
不足之处,批评指正