mysql5.7编译安装



一、准备工作

1.下载mysql并解压

[root@001 ~]# 直接下载mysql文件

[root@001 ~]# tar xf mysql-5.7.19.tar.gz -C /usr/local/src

[root@001 ~]# cd !$(上次使用的目录)

[root@001 src]# cd mysql-5.7.19/

2.安装依赖包:

yum install -y gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake  libaio libaio-devel autoconf bzr bison libtool git

3.解压并安装Boost(拷贝至/usr/local/boost目录)

tar -zxf boost_1_59_0.tar.gz

mv /tmp/boost_1_59_0 /usr/local/boost 可以后续解压

4.准备MySQL数据,日志等路径,并创建mysql用户,赋予mysql用户相关文件夹权限  

mkdir -p /usr/local/mysql  /data/mysqldata  /usr/local/boost

useradd -M -s /sbin/nologin mysql

 chown -R  mysql:mysql  /usr/local/mysql   /data/mysqldata

二、编译安装及配置

1.编译安装

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysqldata -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_MEMORY_STORAGE_ENGINE=1

-DDOWNLOAD_BOOST=1 (这个是下载boost文件到/usr/local/boost下面,有时候下载失败,可以不要这个直接下载文件放在其目录下)-DWITH_BOOST=/usr/local/boost(解压boost

件)

[root@001 mysql-5.7.19]# make -j 4 && make install

#如果出错重新运行配置,需要删除CMakeCache.txt文件,

使用命令:make clean   rm -f CMakeCache.txt

2.设置权限并初始化MySQL

[root@001 mysql-5.7.19]# cd /usr/local/mysql/bin/

[root@001 bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldata

#生成一个随机密码(注意保存登录时用)

2017-09-07T23:06:19.559512Z 1 [Note] A temporary password is generated for root@localhost: mejhUlj=z4Iy #记录下来

 

3.修改配置文件

mv /etc/my.cnf /etc/my.cnf.bak

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

如果没有的话就在/etc下面建一个my.cnf

mysql --help |grep my.cnf

可以查看mysql启动时读取配置文件的默认目录


[root@001 bin]# vim /etc/my.cnf #修改如下内容

[client]

port=3306

socket=/tmp/mysql.sock

default-character-set=utf8

[mysqld]

user=mysql

port=3306

server-id=11

log-bin=mysql-bin

character-set-server = utf8

collation-server = utf8_general_ci

socket=/tmp/mysql.sock

datadir=/data/mysqldata

basedir = /usr/local/mysql

explicit_defaults_for_timestamp=true

lower_case_table_names=1

back_log=103

max_connections=10000

max_connect_errors=100000

table_open_cache=512

external-locking=FALSE

max_allowed_packet=32M

sort_buffer_size=2M

join_buffer_size=2M

thread_cache_size=51

query_cache_size=32M

#query_cache_limit=4M

transaction_isolation=REPEATABLE-READ

tmp_table_size=96M

max_heap_table_size=96M

[mysqld_safe]

open-files-limit=10240

log-error=/var/log/mysqld.log

pid-file=/data/mysqldata/mysqld.pid

 

4.配置mysql服务开机自动启动

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

[root@001 bin]# ldconfig

[root@001 bin]# chmod 755 /etc/init.d/mysqld #增加执行权限

[root@001 bin]# chkconfig --add mysqld

[root@001 bin]# chkconfig --level 345 mysqld on #设置MySQL345等级自动启动

5.设置环境变量

[root@001 bin]# echo "PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh

[root@001 bin]# source /etc/profile

6、启动并登陆修改密码

[root@001 bin]# service mysqld start

[root@001 bin]# mysql -uroot -pfwhYu/eIz6yX #之前记录下来的密码

mysql> set password = '123456';

Query OK, 0 rows affected (0.00 sec)

mysql> quit

 

Bye #退出并重新登陆

[root@001 bin]# mysql -uroot -p123456

---以上编译安装MySQL5.7.19已完成,并能正常使用

你可能感兴趣的:(mysql,lamp)