环境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
编辑配置文件/etc/my.cnf,添加:
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
其他参数默认就好。
下面就行初始化数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
再执行echo $? 返回的状态码是0,则数据库初始化成功
就可以启动mysql数据库服务了,启动命令是mysqld
service mysqld start
出现大写的“SUCCESS”就代表启动成功了,
mysql服务器默认密码为空,
执行/usr/local/mysql/bin/mysql 就可以登录数据库了(默认root用户,是mysql的root,不是系统root)
进入MySQL提示符为“mysql>”
show databases; ##命令输入正确后,记得“;”
use mysql;
select host, user, password from mysql.user;
退出mysql:“\q”或“exit”
还记得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,不用写冗长的路径了!
输入mysql打开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;
不足之处,批评指正