Download the installation package from the official website: mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz Installation environment: CentOS Linux release 7.5.1804 (Core) Unzip the installation package: 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 Environment variables: 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 Create relevant users and groups: [root@localhost ~]# groupadd mysql [root@localhost ~]# useradd -g mysql -d /home/mysql -m -p mysql mysql Create relevant directories: [root@localhost ~]# mkdir -p /data/mysql/;chown -R mysql.mysql /data/mysql/ [root@localhost ~]# mkdir -p /data/tmp/;chown -R mysql.mysql /data/tmp/ Edit the configuration file: [root@localhost tmp]# vim /etc/my.cnf [root@localhost 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 expiration time, in seconds 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 Root Directory: [root@localhost ~]# mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql [root@localhost ~]# chown -R mysql.mysql /usr/local/mysql Initialize, the default password is empty: [root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/ --user=mysql Check the log for errors: [root@localhost ~]# 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] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. Environment variables and startup: [root@localhost mysql]# vim /etc/profile #Add export MYSQL_HOME=/usr/local/mysql at the end PATH=$PATH:$MYSQL_HOME/bin/ [root@localhost mysql]# source /etc/profile [root@localhost mysql]# cd /usr/local/mysql [root@localhost mysql]# cp -f support-files/mysql.server /etc/init.d/mysqld [root@localhost mysql]# chmod 755 /etc/init.d/mysqld [root@localhost mysql]# chkconfig --add mysqld [root@localhost mysql]# chkconfig mysqld on Start the database: [root@localhost mysql]# /etc/init.d/mysqld start Modify passwords and create users. 8.0 has cancelled the automatic creation of users with grant permissions. Use create user to create users and then grant permissions: [root@localhost ~]# 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. root@localhost localhost 15:43:29 (none)>ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.01 sec) root@localhost localhost 15:49:30 (none)>CREATE USER ceshi@'localhost' IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.01 sec) root@localhost localhost 15:50:07 (none)>grant SELECT on *.* to 'ceshi'@'localhost'; Query OK, 0 rows affected, 1 warning (0.00 sec) root@localhost localhost 15:51:10 (none)>show grants for ceshi@localhost; +--------------------------------------------+ | Grants for ceshi@localhost | +--------------------------------------------+ | GRANT SELECT ON *.* TO `ceshi`@`localhost` | +--------------------------------------------+ 1 row in set (0.00 sec) ps: MySql8.0.19 installation pit record 1. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. The solution is as follows: mysql> ALTER USER USER() IDENTIFIED BY 'Xiaoming250'; 2. Change the root password ALTER user 'root'@'localhost' IDENTIFIED BY 'new password'; Summarize The above is the MySQL8.0.19 installation tutorial introduced by the editor. I hope it will be helpful to everyone. If you have any questions, please leave me a message and the editor will reply to you in time. I would also like to thank everyone for their support of the 123WORDPRESS.COM website! You may also be interested in:
|
<<: Nginx reverse proxy springboot jar package process analysis
>>: Vue2.x configures routing navigation guards to implement user login and exit
Slow log query function The main function of slow...
The method found on the Internet works The footer ...
Table of contents Date Object Creating a Date Obj...
There has been a lot of discussion about H1 recent...
MyISAM storage engine The MyISAM storage engine i...
Anyone who has used the Linux system should know ...
Preface The database deadlocks I encountered befo...
Table of contents 1. Basic Introduction to JavaSc...
Table of contents background Purpose Before split...
Table of contents Target Thought Analysis Code la...
Introduction Memcached is a distributed caching s...
It is already 2020. Hungry humans are no longer s...
GUN Screen: Official website: http://www.gnu.org/...
[Who is nslookup?] 】 The nslookup command is a ve...
1: I won’t go into the details of how to install ...