MySQL的版本为最新的5.7.7版。在MySQL5.7.7中有一些新的特性如:
1、初始化数据库时不再使用“--mysql_install_db”而是使用了“--initialize”或是”--initialize-insecure”,区别在于“--initialize”会生成一个随机密码而”--initialize-insecure”不会生成密码。
2、不在生成 .mysql_secret 文件;
3、不再创建匿名用户MySQL账户;
4、不再创建测试数据库。
环境:
CentOS 6.5
mysql 5.7.7rc
准备安装文件
使用yum安装需要的软件包:(重要)
# yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel ncurses-devle
1.创建mysql用户及需要的目录
创建Mysql用户组和用户,及数据库存放目录:
# mkdir -p /usr/local/mysql/
# mkdir -p /data/mysqldata/3306/{data,binlog,tmp}
# groupadd mysql
# useradd mysql -g mysql
# chown -R mysql:mysql /data/mysql
# chown -R mysql:mysql /usr/local/mysql
从MySQL 5.7.5开始Boost库是必需的,下载Boost库并上传到/usr/local/src下,在解压后复制到/usr/local/boost目录下
然后重新cmake并在后面的选项中加上选项-
DWITH_BOOST=/usr/local/boost(下载:http://sourceforge.net/projects/boost/files/boost/)
# cd /usr/local/src
# tar –zxvf boost_1_57_0.tar.gz
# cp –a /usr/local/src/boost_1_57_0 /usr/local/boost
注:mysql编译安装需要的各种软件包,有些包可以用yum安装,但有些软件包只能下载并单独安装。
3.编译安装mysql软件
将mysql二进制安装包 mysql-5.7.7-rc.tar.gz 上传到/usr/local/src/目录下准备编译安装:
# cd /usr/local/src/
# sz mysql-5.7.7-rc.tar.gz
# tar -zxvf mysql-5.7.7-rc.tar.gz
# cd mysql-5.7.7-rc
执行cmake命令:
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='xuewen for mysqltest' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysql \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
在cmake完成后,执行下面的命令进行编译与安装:
# make ---开始编译
# make install ----编译安装
编译安装后,可以确认mysql软件目录:
# chown -R mysql:mysql /usr/local/mysql/
# ls -la /usr/local/mysql/
注:cmake和编译安装的时间都比较长,在编译过程如果提示错误,可以根据提示完善相关安装条件,然后执行下面的命令后,再重新编译安装:
# make clean
# rm -f CMakeCache.txt
4.创建数据库服务
在5.5和5.6版本中,mysql数据库是使用mysqld_db_install命令进行初始化的;在5.7之后,数据库初始化发生了改变,需要mysqld命令进行初始化:
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
---以root初始化操作时要加--user=mysql参数,生成一个随机密码(注意保存登录时用)
数据库初始化后,再次修改权限:
# chown -R mysql:mysql /data/mysqldata/
注意:mysql 5.7之后,默认只会创建一个 root@localhost用户,也没有test表空间,root用户的初始密码随机生成,在命令行或者error.log中可以看到。
echo $?
ls
cd support-files/
ls /etc/my.cnf
cp my-large.cnf /etc/my.cnf
覆盖
vim !$
注释文件
#log-bin=mysql-bin
#binlog_format=mixed
#server-id = 1
ls /etc/init.d/
cp mysql.server /etc/init.d/mysqld
vim !$
baedir=/usr/local/mysql
datadir=/data/mysql
chkconfig --add mysqld
chkconfig mysqld on
/etc/init.d/mysqld start
ps aux |grep mysql
netstat -lnp |grep mysql #查看端口
编辑回复