Linux安裝MySQL8.0.12之二進位制安裝
阿新 • • 發佈:2019-03-13
Linux安裝MySQL8.0.12之二進位制安裝
2018年07月29日 01:21:31 vkingnew 閱讀數:6050 版權宣告:本文為博主原創文章,轉載請註明出處 https://blog.csdn.net/vkingnew/article/details/81267223-
執行環境:centos+mysql8.0.12
-
1.下載官方打包好的二進位制安裝包:
-
#wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
-
可以看到這個版本採用了tar.xz的打包壓縮方式,檔案只有350M左右,下載還是滿方便的。
-
# du -sh mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
-
339M mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
-
2.解壓檔案:
-
#tar -xJvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
-
# mv /usr/local/mysql-8.0.12-linux-glibc2.12-x86_64/ /usr/local/mysql
-
3.配置引數檔案:
-
# cat /etc/my.cnf
-
[mysqld]
-
server-id = 1
-
port = 3306
-
mysqlx_port = 33060
-
mysqlx_socket = /tmp/mysqlx.sock
-
datadir = /data/mysql
-
socket = /tmp/mysql.sock
-
pid-file = /tmp/mysqld.pid
-
log-error = error.log
-
slow-query-log = 1
-
slow-query-log-file = slow.log
-
long_query_time = 0.2
-
log-bin = bin.log
-
relay-log = relay.log
-
binlog_format =ROW
-
relay_log_recovery = 1
-
character-set-client-handshake = FALSE
-
character-set-server = utf8mb4
-
collation-server = utf8mb4_unicode_ci
-
init_connect ='SET NAMES utf8mb4'
-
innodb_buffer_pool_size = 1G
-
join_buffer_size = 128M
-
sort_buffer_size = 2M
-
read_rnd_buffer_size = 2M
-
log_timestamps = SYSTEM
-
lower_case_table_names = 1
-
default-authentication-plugin =mysql_native_password
-
4.建立目錄授權等:
-
# groupadd mysql
-
# useradd mysql
-
# mkdir -p /data/mysql
-
# chown -R mysql:mysql /data/mysql/
-
# chmod -R 775 /data/mysql/
-
5.初始化資料庫:
-
#/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --initialize-insecure
-
官方推薦使用--initialize,會在錯誤日誌中生成難以輸入的臨時密碼,我這裡使用的免密碼的方式。
-
# cat /data/mysql/error.log | grep -i password
-
2018-07-29T02:06:41.253856+08:00 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wquR3-Kxlg1d
-
6.設定啟動檔案和環境變數:
-
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
-
--啟動資料庫:
-
# /etc/init.d/mysql start
-
Starting MySQL.Logging to '/data/mysql/error.log'.
-
SUCCESS!
-
# vim /etc/profile.d/mysql.sh
-
# cat /etc/profile.d/mysql.sh
-
export PATH=$PATH:/usr/local/mysql/bin
-
# source /etc/profile.d/mysql.sh
-
# mysqld --version
-
mysqld Ver 8.0.12 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)
-
[root@node4 mysql]# /usr/local/mysql/bin/mysql -p -S /tmp/mysql.sock
-
Enter password:
-
Welcome to the MySQL monitor. Commands end with ; or \g.
-
Your MySQL connection id is 7
-
Server version: 8.0.12 MySQL Community Server - GPL
-
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
-
Oracle is a registered trademark of Oracle Corporation and/or its
-
affiliates. Other names may be trademarks of their respective
-
owners.
-
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
-
mysql> select version();
-
+-----------+
-
| version() |
-
+-----------+
-
| 8.0.12 |
-
+-----------+
-
1 row in set (0.00 sec)
-
7.設定可以遠端登入的賬號:
-
mysql> show variables like '%valid%pass%';
-
Empty set (0.00 sec)
-
mysql> create user root@'%' identified by 'oracle';
-
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
-
mysql> show variables like '%valid%pass%';
-
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
-
mysql> alter user root@'localhost' identified by 'oracle';
-
Query OK, 0 rows affected (0.07 sec)
-
mysql> show variables like '%valid%pass%';
-
Empty set (0.01 sec)
-
--建立可以遠端登入的使用者:
-
mysql> create user root@'%' identified by 'oracle';
-
Query OK, 0 rows affected (0.06 sec)
-
mysql> grant all privileges on *.* to root@'%' with grant option;
-
Query OK, 0 rows affected (0.07 sec)
-
mysql> flush privileges;
-
Query OK, 0 rows affected (0.00 sec)
-
總結:
-
官方雖然提供RPM安裝方式但是不少預設引數還是不太方便平常的使用,對生產而言則需要修改更多的地方,但是很適合初級使用者快速安裝使用;
-
而對二進位制安裝包 只需要下載按照自定義的設定安裝即可 方便快捷 可自主配置,適合生產佈署。