1.安裝依賴mysql
yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-develc++
2.下載源碼包sql
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz (此版本帶有boost)vim
3.建立mysql用戶windows
groupadd mysql
useradd -r -g mysql -s /bin/false mysqlsocket
4.建立安裝目錄和數據目錄ide
mkdir -p /usr/local/mysql
mkdir -p /data/mysqlui
三.安裝MySQL8.0.11orm
1.解壓源碼包cdn
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