1. 程式人生 > 資料庫 >MySQL8.0.19安裝教程

MySQL8.0.19安裝教程

官網下載安裝包:mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

安裝環境:CentOS Linux release 7.5.1804 (Core)

解壓安裝包:

xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar

環境變數:

yum install -y gcc gcc-c++ make cmake automake ncurses-devel bison bison-devel tcp_wrappers-devel libaio libaio-devel perl-Data-Dumper net-tools

建立相關使用者和組:

[[email protected] ~]# groupadd mysql
[[email protected] ~]# useradd -g mysql -d /home/mysql -m -p mysql mysql

建立相關目錄:

[[email protected] ~]# mkdir -p /data/mysql/;chown -R mysql.mysql /data/mysql/
[[email protected] ~]# mkdir -p /data/tmp/;chown -R mysql.mysql /data/tmp/

編輯配置檔案:

[
[email protected]
tmp]# vim /etc/my.cnf [[email protected] mysql]# cat /etc/my.cnf [client] port= 3306 socket = /tmp/mysql.sock ## The MySQL server [mysqld] port = 3306 socket = /tmp/mysql.sock user = mysql skip-external-locking skip-name-resolve #skip-grant-tables #skip-networking ###################################### dir basedir=/usr/local/mysql datadir=/data/mysql tmpdir=/data/tmp secure_file_priv=/data/tmp ###################################### some app log-error=mysql.err pid-file=/data/mysql/mysql.pid local-infile=1 event_scheduler=0 federated default-storage-engine=InnoDB #default-time-zone= '+8:00' log_timestamps=SYSTEM character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' #fulltext innodb_optimize_fulltext_only ft_min_word_len=1 #ft_max_word_len innodb_ft_min_token_size=1 ###################################### memory allocate and myisam configure max_connections=3000 max_connect_errors=10000 key_buffer_size = 16M max_allowed_packet = 16M table_open_cache = 10240 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 2M join_buffer_size=2M myisam_sort_buffer_size = 4M #net_buffer_length = 2M thread_cache_size = 24 tmp_table_size=1G max_heap_table_size=1G #thread_concurrency =48 ###################################### replication server-id = 101096 log-bin=mysql-bin binlog_format=mixed max_binlog_size=1G log_slave_updates=true log_bin_trust_function_creators=true binlog_expire_logs_seconds=259200 #binlog過期時間,單位秒 replicate-ignore-db=mysql replicate-ignore-db=test replicate-ignore-db=information_schema replicate-ignore-db=performance_schema replicate-wild-ignore-table=mysql.% replicate-wild-ignore-table=test.% replicate-wild-ignore-table=information_schema.% replicate-wild-ignore-table=performance_schema.% lower_case_table_names = 1 #read_only=1 master_info_repository=TABLE relay_log_info_repository=TABLE ###################################### slow-query long_query_time=1 slow_query_log=1 slow_query_log_file=/data/mysql/slow-query.log interactive_timeout=600 wait_timeout=600 ###################################### innodb configure innodb_file_per_table innodb_data_home_dir = /data/mysql innodb_log_group_home_dir = /data/mysql innodb_buffer_pool_size =4G innodb_log_file_size = 1G innodb_log_files_in_group = 3 innodb_log_buffer_size = 32M innodb_flush_log_at_trx_commit = 1 sync_binlog=0 sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO" ########################################## [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash default-character-set = utf8mb4 prompt=\\U \\h \\R:\\m:\\s \\d> [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout

根目錄:

[[email protected] ~]# mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql
[[email protected] ~]# chown -R mysql.mysql /usr/local/mysql

進行初始化,預設密碼為空:

[[email protected] ~]# /usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/ --user=mysql

檢視日誌有沒有報錯:

[[email protected] ~]# cat /data/mysql/mysql.err
2020-01-20T15:11:46.156633+08:00 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 14822
 100 200 300 400 500 600 700 800 900 1000
 100 200 300 400 500 600 700 800 900 1000
 100 200 300 400 500 600 700 800 900 1000
2020-01-20T15:12:31.118120+08:00 5 [Warning] [MY-010453] [Server] [email protected] is created with an empty password ! Please consider switching off the --initialize-insecure option.

環境變數與開機自啟:

[[email protected] mysql]# vim /etc/profile
#在最後新增
export MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin/
[[email protected] mysql]# source /etc/profile
 [[email protected] mysql]# cd /usr/local/mysql
 [[email protected] mysql]# cp -f support-files/mysql.server /etc/init.d/mysqld

 [[email protected] mysql]# chmod 755 /etc/init.d/mysqld

 [[email protected] mysql]# chkconfig --add mysqld

 [[email protected] mysql]# chkconfig mysqld on

啟動資料庫:

[[email protected] mysql]# /etc/init.d/mysqld start

修改密碼與建立使用者,8.0已取消grant許可權自動建立使用者,要用create user建立使用者再用grant賦予許可權:

[[email protected] ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19 MySQL Community Server - GPL

Copyright (c) 2000,2020,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.
[email protected] localhost 15:43:29 (none)>ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
Query OK,0 rows affected (0.01 sec)
[email protected] localhost 15:49:30 (none)>CREATE USER [email protected]'localhost' IDENTIFIED BY 'password';
Query OK,0 rows affected (0.01 sec)

[email protected] localhost 15:50:07 (none)>grant SELECT on *.* to 'ceshi'@'localhost';
Query OK,0 rows affected,1 warning (0.00 sec)

[email protected] localhost 15:51:10 (none)>show grants for [email protected];
+--------------------------------------------+
| Grants for [email protected]     |
+--------------------------------------------+
| GRANT SELECT ON *.* TO `ceshi`@`localhost` |
+--------------------------------------------+
1 row in set (0.00 sec)

ps:MySql8.0.19 安裝採坑記錄

1、ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解決方式如下:

mysql> ALTER USER USER() IDENTIFIED BY 'Xiaoming250';

2、修改root密碼

ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼';

總結

以上所述是小編給大家介紹的MySQL8.0.19安裝教程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!