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.xztar -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
创建相关用户和组:
[root@localhost ~]# groupadd mysql[root@localhost ~]# useradd -g mysql -d /home/mysql -m -p mysql mysql
创建相关目录:
[root@localhost ~]# mkdir -p /data/mysql/;chown -R mysql.mysql /data/mysql/[root@localhost ~]# mkdir -p /data/tmp/;chown -R mysql.mysql /data/tmp/
编辑配置文件:
[root@localhost tmp]# vim /etc/my.cnf[root@localhost mysql]# cat /etc/my.cnf[client]port= 3306socket = /tmp/mysql.sock## The MySQL server[mysqld]port = 3306socket = /tmp/mysql.sockuser = mysqlskip-external-lockingskip-name-resolve#skip-grant-tables#skip-networking###################################### dirbasedir=/usr/local/mysqldatadir=/data/mysqltmpdir=/data/tmpsecure_file_priv=/data/tmp###################################### some applog-error=mysql.errpid-file=/data/mysql/mysql.pidlocal-infile=1event_scheduler=0federateddefault-storage-engine=InnoDB#default-time-zone= '+8:00'log_timestamps=SYSTEMcharacter-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'#fulltextinnodb_optimize_fulltext_onlyft_min_word_len=1#ft_max_word_leninnodb_ft_min_token_size=1###################################### memory allocate and myisam configuremax_connections=3000max_connect_errors=10000key_buffer_size = 16Mmax_allowed_packet = 16Mtable_open_cache = 10240sort_buffer_size = 2Mread_buffer_size = 2Mread_rnd_buffer_size = 2Mjoin_buffer_size=2Mmyisam_sort_buffer_size = 4M#net_buffer_length = 2Mthread_cache_size = 24tmp_table_size=1Gmax_heap_table_size=1G#thread_concurrency =48###################################### replicationserver-id = 101096log-bin=mysql-binbinlog_format=mixedmax_binlog_size=1Glog_slave_updates=truelog_bin_trust_function_creators=truebinlog_expire_logs_seconds=259200 #binlog过期时间,单位秒replicate-ignore-db=mysqlreplicate-ignore-db=testreplicate-ignore-db=information_schemareplicate-ignore-db=performance_schemareplicate-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=1master_info_repository=TABLErelay_log_info_repository=TABLE###################################### slow-querylong_query_time=1slow_query_log=1slow_query_log_file=/data/mysql/slow-query.loginteractive_timeout=600wait_timeout=600###################################### innodb configureinnodb_file_per_tableinnodb_data_home_dir = /data/mysqlinnodb_log_group_home_dir = /data/mysqlinnodb_buffer_pool_size =4Ginnodb_log_file_size = 1Ginnodb_log_files_in_group = 3innodb_log_buffer_size = 32Minnodb_flush_log_at_trx_commit = 1sync_binlog=0sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO"##########################################[mysqldump]quickmax_allowed_packet = 16M[mysql]no-auto-rehashdefault-character-set = utf8mb4prompt=\\U \\h \\R:\\m:\\s \\d>[myisamchk]key_buffer_size = 20Msort_buffer_size = 20Mread_buffer = 2Mwrite_buffer = 2M[mysqlhotcopy]interactive-timeout
根目录:
[root@localhost ~]# mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql
进行初始化,默认密码为空:
[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/ --user=mysql
查看日志有没有报错:
[root@localhost ~]# cat /data/mysql/mysql.err2020-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 10002020-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.
环境变量与开机自启:
[root@localhost mysql]# vim /etc/profile#在最后添加export MYSQL_HOME=/usr/local/mysqlPATH=$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
启动数据库:
[root@localhost mysql]# /etc/init.d/mysqld start
修改密码与创建用户,8.0已取消grant权限自动创建用户,要用create user创建用户再用grant赋予权限:
[root@localhost ~]# mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8Server version: 8.0.19 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.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)
赞 (0)