1.安装依赖
yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel
2.下载源码包
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz (此版本带有boost)
3.创建mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
4.创建安装目录和数据目录
mkdir -p /usr/local/mysql
mkdir -p /data/mysql
5.解压源码包
tar -zxf mysql-boost-8.0.11.tar.gz -C /usr/local
6.编译&安装
需要创建 data文件夹 /usr/local/mysql/data
cd /usr/local/mysql-8.0.11
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/mysql-8.0.11/boost
make && make install
7.配置my.cnf文件
vim /etc/my.cnf
[mysqld]
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
#character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
server-id=1
log-bin=mysql-bin
binlog_format=MIXED
expire_logs_days=7
wait_timeout=320
slow_query_log=1
slow_query_log_file=/usr/local/mysql/logs/mysqld-slow.log
socket=/usr/local/mysql/mysql.sock
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
socket=/usr/local/mysql/mysql.sock
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
socket=/usr/local/mysql/mysql.sock
[mysqld_safe]
log-error=/usr/local/mysql/logs/mysql.log //需要创建文件 touch /usr/local/mysql/logs/mysql.log
pid-file=/usr/local/mysql/pid/mysql.pid 需要创建文件 touch /usr/local/mysql/logs/mysql.pid
socket=/usr/local/mysql/mysql.sock
[mysqldump]
user=root
password=leishen2015
socket=/usr/local/mysql/mysql.sock
8.目录权限修改
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql
chmod 755 /usr/local/mysql -R
chmod 755 /data/mysql -R
9.初始化
bin/mysqld --initialize --user=mysql
10.启动mysql
/usr/local/mysql/support-files/mysql.server
11.修改账号密码
bin/mysql -uroot -p
mysql> alter user 'root'@'localhost' identified by "123456";
##添加远程特账号
mysql> create user root@'%' identified by '123456';
mysql> grant all privileges on *.* to root@'%';
mysql> flush privileges;
12.创建软链接(非必要)
ln -s /usr/local/mysql/bin/* /usr/local/bin/
13.添加到启动(非必要)
cp support-files/mysql.server /etc/init.d/mysql.server