MySQL 8.0.11 GA版二進制安裝


MySQL 8.0.11已發布,聽聞性能提升兩倍,今個自己安裝體驗下。
1、卸載mysql老版本
rpm -qa|grep mysql或者mairadb
rpm -e mysql*/mariadb*
rpm -e --nodeps mysql*/mariadb*


2、安裝依賴包
yum install gcc gcc-c++ libaio 

3、下載軟件包並解壓
tar -zxf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql

4、創建軟連接
 cd /usr/local/
 ln -sv /opt/mysql/mysql-8.0.11-linux-glibc2.12-x86_64 mysql

5、創建用戶和組
groupadd -g 301 mysql
 useradd -g 301 -r -s /bin/nologin -u 301 mysql

6、相關目錄結構和權限
 chown -R mysql:mysql /usr/local/mysql
 mkdir -p /data
 mkdir -p /data/mysql/data
 mkdir -p /data/mysql/log/binlogs
 mkdir -p /data/mysql/log/slowlogs
 mkdir -p /data/mysql/log/relaylogs
 mkdir -p /data/mysql/undo
 mkdir -p /data/mysql/redologs
 mkdir -p /data/mysql/tmp
 chown -R mysql:mysql/data/mysql

7、配制my.cnf文件

[mysqld]
port=3306
datadir=/data
log-error=/data/mysql/log/mysql-err.log
user=mysql

[client]
socket=/data/mysql/mysql.socket

8、環境變量配置
  echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
  source /etc/profile

9、初始化數據庫

兩種方式
 bin/mysqld --initialize --user=mysql
 bin/mysqld  --initialize-insecure --user=mysql

我這里采用非認證加密方式  
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/data

10、啟停服務

# /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf &
# /usr/local/mysql/bin/mysqladmin shutdown

11、制作啟動腳本

復制啟動腳本到/etc/init.d目錄下
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

修改腳本文件中
# vim /etc/init.d/mysqld
46 basedir=/usr/local/mysql --mysql的安裝路徑
47 datadir=/data --mysql的數據目錄

賦予該文件執行權限

chmod 755 /etc/init.d/mysqld
啟動服務
/etc/init.d/mysqld start 

Starting MySQL....                                         [  OK  ]

備注:

對於Mysql 5.7.6以后的5.7系列版本,Mysql使用mysqld --initialize或mysqld --initialize-insecure命令來初始化數據庫,后者可以不生成隨機密碼。
但是安裝Mysql時默認使用的是前一個命令,這個命令也會生成一個隨機密碼。改密碼保存在了Mysql的日志文件中。

在Centos 7系統上使用rpm命令安裝Mysql后,mysql的配置文件是/etc/my.cnf,打開該文件,可以看到mysql的datadir和log文件等的配置信息,如下:

datadir=/var/lib/mysql
log-error=/var/log/mysqld.log

打開/var/log/mysqld.log文件,搜索字符串A temporary password is generated for root@localhost:,可以找到這個隨機密碼,通常這一行日志在log文件的最初幾行,比較容易看到。

[root@localhost ~]# cat /data/mysql/log/mysql-err.log | grep password
2018-06-09T13:07:48.538150Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: b.2;xthNHu?5


使用找到的隨機密碼登錄mysql,首次登錄后,mysql要比必須修改默認密碼,否則不能執行任何其他數據庫操作,這樣體現了不斷增強的Mysql安全性。

12、進入數據庫
#/usr/local/mysql/bin/mysql -p

修改密碼

alter user 'root'@'localhost' identified by '123456';

13、查看數據庫版本
(root@localhost:)[(none)]> \s

Connection id: 9
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 8.0.11 MySQL Community Server - GPL
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
UNIX socket: /tmp/mysql.sock
Uptime: 25 min 13 sec

Threads: 2 Questions: 13 Slow queries: 0 Opens: 110 Flush tables: 2 Open tables: 86 Queries per second avg: 0.008
--------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM