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
三.安装MySQL8.0.11
1.解压源码包
tar -zxf mysql-boost-8.0.11.tar.gz
2.编译&安装
cd 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=./boost
make && make install
此处安装1小时,源码安装
3.配置my.cnf文件
vim /etc/my.cnf
[client]
port = 3306
socket = /data/mysql/mysql.sock
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log = /var/log/mysqld_multi.err
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld]
port = 3306
socket = /data/mysql/mysql.sock
basedir=/usr/local/mysql
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log-bin-trust-function-creators = 1
expire_logs_days = 1
max_connections = 600
skip-external-locking
skip-name-resolve
datadir=/data/mysql
character_set_server = utf8
log-bin = mysql-bin
max_allowed_packet=64M
# Mandatory Settings
server-id= 1
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
4.目录权限修改
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql
chmod 755 /usr/local/mysql -R
chmod 755 /data/mysql -R
5.初始化
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/data/mysql/
./mysql_ssl_rsa_setup
6.启动mysql
./mysqld_safe --user=mysql --skip-grant-tables &
./mysql
mysql> flush privileges; 因为前面带了--skip-grant-tables,这一步很重要.
Query OK, 0 rows affected (0.04 sec)
mysql> alter user 'root'@'localhost' identified by "123456";
Query OK, 0 rows affected (0.07 sec)
mysql> create user root@'%' identified WITH mysql_native_password by '123456'; 8.1不加WITH mysql_native_password,windows客户端无法登陆.
mysql> grant all privileges on *.* to root@'%';
Query OK, 0 rows affected (0.04 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
退出mysql,重启mysqld,不要带--skip-grant-tables