您的位置:首页 > 数据库 > MySQL

MySQL(四)源码安装

2017-11-23 20:11 134 查看
源码安装

1、官网下载boost的源码包;

   mysql-boost-5.7.14.tar.gz

2、安装开发工具和开发包

 
[root@mail ~]# yum install gcc-c++ cmake ncurses-devel

3、 编译安装MySQ

  3.1)解压

      # tar xf mysql-boost-5.7.18.tar.gz -C /usr/local/src/

  3.2)使用cmake编译MySQL
cmake指定编译选项的方式不同于make,其实现方式对比如下:

./configure                   相当于 cmake .

./configure --help       相当于cmake . -LH or ccmake .

注意:如果想清理此前的编译所生成的文件重新编译,则需要使用如下两条命令:
make clean;rm CMakeCache.txt

编译使用下面全部命令:

[root@localhost mysql-5.7.18]#
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_INNODB_MEMCACHED=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DWITH_BOOST=boost

 3.3)编译

[root@localhost mysql-5.7.18]# make

(注:若是虚拟机可改变虚拟的配置,再 -j后加参数可以加快编译速度)

 3.4)安装

[root@localhost mysql-5.7.18]#
make install

4、创建用户
[root@mail ~]# groupadd -g 36 mysql

[root@mail ~]# useradd -r -u 36 -g 36 -c "MySQL Server" -s /bin/false -M mysql

5、创建数据库存放目录并授权

[root@mail ~]# mkdir /usr/local/mysql/data -p
[root@mail ~]# chown -R mysql.mysql /usr/local/mysql/data

6、 初始化mysql

[root@mail ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

(注:如果无错会在最后出现密码,冒号后的所有都是)

7、为mysql提供sysv服务脚本并加权限

[root@mail ~]#
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@mail ~]# chmod +x /etc/init.d/mysqld

8、开机自启动

[root@mail ~]# chkconfig --add mysqld

[root@mail ~]# chkconfig mysqld on

9、修改PATH环境变量,让系统可以直接使用mysql的相关命令

[root@mail ~]# vim /etc/profile.d/mysql.sh
写入下面一行:
export PATH=$PATH:/usr/local/mysql/bin
[root@mail ~]# source mysql.sh

10、启动MySQL

[root@mail ~]# systemctl start mysqld

若无法启动服务可查看并修改配置文件:

[root@mail ~]# vim /etc/my.cnf

[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid

再重启服务:

[root@mail ~]# systemctl start mysqld

11、查看端口是否在监听

[root@mail ~]# netstat -an |grep 3306

12、登录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息