檢查系統版本
[root@34b8e2970863 etc]# echo $HOSTNAME 34b8e2970863 [root@34b8e2970863 etc]# uname -a Linux 34b8e2970863 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [root@34b8e2970863 etc]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
下載需要的元件
yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel
下載mysql8.0.11含boost版
cd /opt/ wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz
編譯安裝
cd /opt/mysql-8.0.11 cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql-8.0.11 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_DATADIR=/var/lib/mysql/ -DWITH_DEBUG=0 -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_ZLIB=system -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost/ make && make install
建立mysql使用者及程式資料夾
ln -s /opt/mysql-8.0.11/ /usr/local/mysql useradd mysql chown -R mysql:mysql /usr/local/mysql mkdir /var/lib/mysql chown -R mysql:mysql /var/lib/mysql chmod 755 /usr/local/mysql -R chmod 755 /var/lib/mysql -R
設定mysql設定檔
[root@34b8e2970863 mysql]# cat /etc/my.cnf [mysqld] server-id=1 port=3306 basedir=/usr/local/mysql datadir=/var/lib/mysql skip-name-resolve
mysql初始化
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql /usr/local/mysql/bin/mysql_ssl_rsa_setup
建立軟聯接
ln -s /usr/local/mysql/bin/* /usr/local/bin/
啟動mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
修改帳號密碼
/usr/local/mysql/bin/mysql -uroot -p mysql> alter user 'root'@'localhost' identified by "123456"; mysql> flush privileges;
新增帳號
CREATE USER `tony`@`%` IDENTIFIED BY '123456'; GRANT ALL ON *.* TO `tony`@`%` WITH GRANT OPTION; ALTER USER 'tony'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
更新帳號
ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'passowrd' PASSWORD EXPIRE NEVER; #修改加密規則為永不過期 ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下使用者的密碼加密方式為之前版本的方式 FLUSH PRIVILEGES; #重新整理許可權
測試登入正常