MySQL8.0.19安装教程

所属分类: 数据库 / Mysql 阅读数: 1942
收藏 0 赞 0 分享

官网下载安装包: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

创建相关用户和组:

[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= 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

根目录:

[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.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.

环境变量与开机自启:

[root@localhost mysql]# vim /etc/profile
#在最后添加
export MYSQL_HOME=/usr/local/mysql
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

启动数据库:

[root@localhost mysql]# /etc/init.d/mysqld start

修改密码与创建用户,8.0已取消grant权限自动创建用户,要用create user创建用户再用grant赋予权限:

[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 安装采坑记录

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安装教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

更多精彩内容其他人还在看

简单了解标准SQL的update语句三种用法

这篇文章主要介绍了简单了解标准SQL的update语句三种用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL5.7.23解压版安装教程图文详解

这篇文章主要介绍了MySQL5.7.23解压版安装教程图文详解,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

python 连接数据库mysql解压版安装配置及遇到问题

今天学习python连接数据库,就想安装一下mysql数据库,没想到小小的数据库也遇到了不少挫折,所以我就把自己的安装过程以及问题写出来分享给大家,需要的朋友可以参考下
收藏 0 赞 0 分享

为什么说MySQL单表数据不要超过500万行

在本篇文章里小编给大家整理了一篇关于为什么说MySQL单表数据不要超过500万行的相关内容,有兴趣的朋友们阅读下吧。
收藏 0 赞 0 分享

基于python的mysql复制工具详解

python-mysql-replication 是基于python实现的 MySQL复制协议工具,我们可以用它来解析binlog 获取日志的insert,update,delete等事件 ,并基于此做其他业务需求。这篇文章主要介绍了基于python的mysql复制工具,需要的朋
收藏 0 赞 0 分享

mysql语句查询用户权限过程详解

这篇文章主要介绍了mysql语句查询用户权限过程详解,授予用户的权限可能分全局层级权限、数据库层级权限、表层级别权限、列层级别权限、子程序层级权限。,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL创建数据表并建立主外键关系详解

这篇文章主要介绍了MySQL创建数据表并建立主外键关系详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL表中添加时间戳的几种方法

这篇文章主要介绍了MySQL表中添加时间戳的几种方法,有张表的数据需要用同步工具同步至其他库,需要 update_time 时间戳字段 来做增量同步,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL如何实现负载均衡功能

这篇文章主要介绍了MySQL如何实现负载均衡功能,学习过数据库的朋友们都会知道MySQL,那么如何在MySQL下实现负载均衡功能呢?本文就将为大家细致地介绍一下
收藏 0 赞 0 分享

mysql server 5.5连接不上的解决方法

这篇文章主要为大家详细介绍了mysql server 5.5连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多