centos7环境下源码安装mysql5.7.16的方法详解
本文实例讲述了centos7环境下源码安装mysql5.7.16的方法。分享给大家供大家参考,具体如下:
一、下载源码包
下载mysql源码包
http://mirrors.sohu.com/mysql/mysql-5.7/mysql-5.7.16.tar.gz
二、安装约定:
用户名:mysql
安装目录:/data/mysql
数据库目录:/data/mysql/data
三、安装准备
1、添加用户
> useradd -s /sbin/nologin mysql
2、建立目录
> mkdir /data/mysql
3、改变目录拥有者和所属者
> chown -r mysql:mysql /data/mysql
4、安装编辑所需的文件
> yum install gcc gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel
(*mysql5.7.5以上版本需要安装boost)
> yum install boost boost-devel
5、解压源码包
> tar -xf mysql-5.7.16.tar.gz
四、编译安装
> cd /data/mysql-5.7.16 > cmake \ -dmysql_user=mysql \ -dcmake_install_prefix=/data/mysql \ -dmysql_datadir=/data/mysql/data \ -dsysconfdir=/data/mysql \ -dwith_myisam_storage_engine=1 \ -dwith_innobase_storage_engine=1 \ -dwith_memory_storage_engine=1 \ -dinstall_plugindir=/data/mysql/plugin \ -dwith_readline=1 \ -dmysql_unix_addr=/data/mysql/mysql.sock \ -dmysql_tcp_port=3306 \ -denabled_local_infile=1 \ -dwith_partition_storage_engine=1 \ -dextra_charsets=all \ -ddefault_charset=utf8 \ -ddefault_collation=utf8_general_ci \ -ddownload_boost=1 \ -dwith_boost=/usr/local/boost
(*注意,如果出错,需删除cmakecache.txt,重新运行配置)
关于上面参数的解释如下:
#mysql用户名 -dmysql_user=mysql #安装路径 -dcmake_install_prefix=/data/mysql #数据文件存放位置 -dmysql_datadir=/data/mysql/data #my.cnf路径 -dsysconfdir=/data/mysql #支持myiasm引擎 -dwith_myisam_storage_engine=1 #支持innodb引擎 -dwith_innobase_storage_engine=1 #支持memory引擎 -dwith_memory_storage_engine=1 #插件文件及配置路径 -dinstall_plugindir=/data/mysql/plugin #快捷键功能(我没用过) -dwith_readline=1 #连接数据库socket路径 -dmysql_unix_addr=/data/mysql/mysql.sock #端口 -dmysql_tcp_port=3306 #允许从本地导入数据 -denabled_local_infile=1 #安装支持数据库分区 -dwith_partition_storage_engine=1 #安装所有的字符集 -dextra_charsets=all #默认字符 -ddefault_charset=utf8 #校验字符 -ddefault_collation=utf8_general_ci #会自动下载boost -ddownload_boost=1 #指定boost目录 -dwith_boost=/usr/local/boost
编译安装
> make && make install
复制配置文件
> cp /data/mysql/support-files/my-default.cnf /data/mysql/my.cnf
初始化数据库
> /data/mysql/bin/mysqld \ --defaults-file=/data/mysql/my.cnf \ --initialize \ --user=mysql \ --basedir=/data/mysql \ --datadir=/data/mysql/data \
如果出现如下信息:
unknown variable 'defaults-file=/data/mysql/my.cnf'
请保证--defaults-file
配置选项在最前面。
如果出现如下信息:
[error] --initialize specified but the data directory has files in it. aborting.
请保证的你的datadir目录下为空,如果有文件则删除。
mysql5.7版本通过--initialize安装会随机生成root密码,请注意保存。
如果希望生成空密码请使用--initialize-insecure
配置。
修改mysql目录拥有者
> chown -r mysql:mysql /data/mysql
五、配置mysql配置文件my.cnf
由于我们在编译安装mysql的时候设置了它的配置文件目录为/data/mysql,所以删掉/etc/my.cnf。
以免受影响。
> rm -rf /etc/my.cnf > vi /data/mysql/my.cnf
配置如下:
[client] default-character-set = utf8 port = 3306 socket = /data/mysql/mysql.sock [mysql] default-character-set = utf8 [mysqld] skip-name-resolve basedir = /data/mysql datadir = /data/mysql/data port = 3306 server_id = 10 socket = /data/mysql/mysql.sock character-set-server = utf8 max_connections = 200 default-storage-engine = innodb log-bin=mysql-bin
为mysql添加开机启动
> cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld > chmod 755 /etc/init.d/mysqld > chkconfig --add mysqld
启动mysql服务
> service mysqld start
为mysql添加环境变量
> echo "export path=/data/mysql/bin/:$path" >> /etc/profile > source /etc/profile
通过上面保存过的密码登陆mysql来修改root密码
> mysql -uroot -p > set password=password('123456'); > alter user 'root'@'localhost' password expire never; > flush privileges;
上一篇: JavaScript实现简单音乐播放器