MySQL(四)源码安装

来源:互联网 发布:网络yy语音授课是什么 编辑:程序博客网 时间:2024/06/15 04:33
源码安装

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、登录


原创粉丝点击