MySQL8.0.11 for linux7.2 二进制安装

MySQL8.0安装官方文档:

https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html

安装前注意:

MySQL8.0和MySQL5.7和之前的版本还是有区别的,第一点就是在安装MySQL的时候 密码认证方式:默认的密码加密方式是:caching_sha2_password,而现在很多客户端工具还不支持这种加密认证方式,可以在配置文件中加入:default_authentication_plugin=mysql_native_password;这样就和MySQL5.7和之前的版本一样了。

1、下载二进制软件包:

mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

2、添加MySQL用户和组:

[[email protected]ost ~]# userdel mysql   (因为是新系统,所以就把现有的MySQL用户给删除了)
   [[email protected] ~]# groupadd mysql
   [[email protected] ~]# useradd -g mysql  mysql
   [[email protected] ~]# passwd mysql      (MySQL密码要设置的复杂一点,或者在创建用户的时候设置不让登陆系统)

3、创建安装MySQL目标,并解压软件到指定目录

 [[email protected] ~]# mkdir -p /mysql/data
   [[email protected] ~]# chown -R mysql.mysql /mysql
   [[email protected] ~]# tar zxvf  mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /mysql
   [[email protected] ~]# cd /mysql
   [[email protected] ~]# mv mysql-8.0.11-linux-glibc2.12-x86_64 / mysql
   [[email protected] ~]# chown -R mysql.mysql /mysql

4、初始化数据库

[[email protected] ~]# su - mysql

[[email protected] ~]$ vim /mysql/my.cnf

[client]
socket=/mysql/data/mysql.sock
[mysqld]
server-id=142
port = 3306
basedir=/mysql/mysql
datadir=/mysql/data
socket=/mysql/data/mysql.sock
log-error=/mysql/data/mysqld.log
pid-file=/mysql/data/mysqld.pid
log-bin=/mysql/data/binlog
slow_query_log_file = /mysql/data/slow.log
log_slave_updates
expire_logs_days=7
binlog_format=ROW
#default_authentication_plugin=mysql_native_password    ---修改密码加密方式。(看文中最后的解释)
gtid-mode = on  
enforce-gtid-consistency = 1  
skip_slave_start=1  
innodb_buffer_pool_size   = 1000M                           
innodb_buffer_pool_instances = 2                          
innodb_log_file_size      = 100M                           
innodb_log_files_in_group = 3                             
innodb_log_buffer_size    = 24M                          
innodb_flush_log_at_trx_commit = 1                        
innodb_file_per_table     = 1                             
innodb_flush_method       = O_DIRECT                      
innodb_io_capacity        = 200                           
innodb_io_capacity_max    = 600                           
innodb_thread_concurrency = 0                             
innodb_autoinc_lock_mode  = 2                             
innodb_lock_wait_timeout  = 60                            
innodb_read_io_threads    = 4                 
innodb_write_io_threads   = 4                                  
innodb_max_dirty_pages_pct = 80                                
innodb_autoextend_increment = 512                              
innodb_checksum_algorithm = NONE   
max_connect_errors        = 1000                            
max_connections           = 500                                
connect_timeout           = 300                                
wait_timeout              = 86400                              
interactive_timeout       = 86400
[[email protected] mysql]$ /mysql/mysql/bin/mysqld --defaults-file=/mysql/my.cnf  --user=mysql --basedir=/mysql/mysql/ --datadir=/mysql/data/  --initialize

其中,root的默认密码在:/mysql/data/mysqld.log 日志中,打开查看即可

5、启动MySQL

[[email protected] mysql]#  /mysql/mysql/bin/mysqld_safe --defaults-file=/mysql/my.cnf  --user=mysql &
[[email protected] mysql]# /mysql/mysql/bin/mysql -uroot -p -S /mysql/data/mysql.sock    
mysql> set password='123456';
mysql> flush privileges;
mysql> \s
--------------
/mysql/mysql/bin/mysql  Ver 8.0.11 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)
Connection id:          11
Current database:
Current user:           [email protected]
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.0.11 MySQL Community Server - GPL
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            /mysql/data/mysql.sock
Uptime:                 10 min 31 sec
Threads: 2  Questions: 10  Slow queries: 0  Opens: 124  Flush tables: 2  Open tables: 100  Queries per second avg: 0.015
--------------

(注意:这里启动数据库一定要用MySQL8.0安装包自带的客户端才可以登录,即要使用MySQL8.0安装包的命令进行登录数据库,要不然会报错,如:

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded:)

注意:

在mysql8.0下,默认变成了default_authentication_plugin=caching_sha2_password,包括你刚初始化的root用户也是这个认证加密方式,这样的结果是让你除非用新的协议驱动,例如必须用8.0自带的mysql客户端才行,不然就连接不上数据库.

在mysql5.7环境里,虽然可以设置default_authentication_plugin来改变认证加密方式,但是一般人不会去设置.所以默认使用的认证加密方式是mysql_native_password

解决方法:

①:在初始化的时候在配置文件中加入,如下,mysql_native_password 这种认证方法就会很多客户端的认证加密方式一样。

vim my.cnf

[mysqld]

default_authentication_plugin=mysql_native_password

②:使用命令行模式更改用户的密码加密认证方式:

mysql> select Host,User,plugin,authentication_string from mysql.user;    --看下面的root用户的认证方式和其他用户都是不一样的,
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| Host      | User             | plugin                | authentication_string                                                  |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE                              |
| localhost | mysql.session    | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE                              |
| localhost | mysql.sys        | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE                              |
| localhost | root             | caching_sha2_password | $A$005$T?yK{e`l{mrnZd|0iETvMwJ197qvnDXttfzdZX98q6xvFBwXuWd3ioPfnV7 |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';   ---在修改密码的时候指定密码加密认证方式
Query OK, 0 rows affected (0.11 sec)
mysql> select Host,User,plugin,authentication_string from mysql.user;  ---再次查看所有用户都一样了,和5.7版本一样
+-----------+------------------+-----------------------+-------------------------------------------+
| Host      | User             | plugin                | authentication_string                     |
+-----------+------------------+-----------------------+-------------------------------------------+
| localhost | mysql.infoschema | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.session    | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys        | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | root             | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------------------+-----------------------+-------------------------------------------+
4 rows in set (0.00 sec)

另外,在MySQL8.0授权和创建用户更加严格了,在MySQL5.7可以使用命令如下:

MySQL [(none)]> grant all privileges on *.* to 'test_user'@'192.168.2.%' identified by '123123';    ----MySQL5.7创建用户授权的方法,报错了,

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '123123'' at line 1

在MySQL8.0中必须先创建用户再授权:

MySQL > create user 'test_user'@'%' identified by '123456';    --先创建用户

Query OK, 0 rows affected (0.03 sec)

MySQL > grant all privileges on *.* to 'test_user'@'%' with grant option;  --再授权

Query OK, 0 rows affected (0.05 sec)

MySQL8.0的版本还是有很多变化的,技术在不断更新所以要努力学习!

原文地址:http://blog.51cto.com/fengfeng688/2141752

时间: 2024-08-02 23:13:24

MySQL8.0.11 for linux7.2 二进制安装的相关文章

mysql学习(2)-Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

Navicat Premium 12 链接MySQL8.0.11数据库报2059错误 1,问题现象 安装完MySQL8.0.11和Navicat Premium12后,我们会用Navicat去测试连接MySQL,但是测试时出现以下报提示: 2,问题原因 mysql8.0之前的版本加密规则是mysql_native_password,mysql8.0之后,加密规则是caching_sha2_password. 3,解决方案 在这里要特别说明一点,如果安装完MySQL8.0.11以后,没有设置环境变

mysql8.0.11 在windows64安装 步骤

MySQL8.0 Windows zip包下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip 环境:Windows 10 1 一.安装 1. 解压zip包到安装目录 比如我的安装目录是:D:\Program\MySQL 2.配置文件 在Windows系统中,配置文件默认是安装目录下的 my.ini 文件,部分配置需要在初始安装时配置,大部分也可以在安装完成后进行更改.当然,极端情况下,所有的都是可以更改的

mysql8.0.11安装、启动与基本设置

此次演示的是mysql 8.0.11的安装.启动与基本设置. 下载mysql-8.0.11-el7-x86_64.tar.gz 1.解压并重命名[[email protected] ~]# cd /data[[email protected] data]# lsmysql-8.0.11-el7-x86_64.tar.gz[[email protected] data]# tar -zxf mysql-8.0.11-el7-x86_64.tar.gz[[email protected] data]

安装mysql8.0.11

1.安装依赖关系 yum -y install openssl-devel yum install perl-JSON 2.安装mysql(要一起安装) rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm mysql-community-devel-8.0.11-1.el7.x86_64.rpm mysql-community-embedded-compat-8.0.11-1.el7.x86_64.rpm mysql-community

centos7.2 安装mysql8.0.11 并自动初始化root密码

1 下载mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar 2 mdkir –p /home/mysql/ 3 上传tar文件到/home/mysql 并解压 tar xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar 4 cd /home/mysql  然后 createrepo . 5 vi /etc/yum.repos.d/mysql.repo [mysql] name=mysql baseurl=file:///home

Win10中MySQL8.0.11的配置文件my.ini的位置

跟廖雪峰老师的教程pip install mysql-connector的时候遇到了couldn't fetch的错误,百度出来的各种方法加参数写pip.ini什么的都试过了不行,最后把环境变量里原本设置的anaconda新建的3.7环境路径改成了anaconda默认的3.6路径,就OK了. 然后又继续报错什么不支持cxxx_sha2_xxxx的,百度说是mysql8开始加密默认由mysql_native_password变成sha2了,要在mysql客户端使用alter 'root'@'loc

Windows 10配置mysql8.0.11 步骤

每次配mysql都要查一遍,记又记不住,所以写个记录. https://dev.mysql.com/downloads/mysql/  下载地址 下载免安装包,解压 配置环境变量: PATH:    解压路径\bin 编写配置文件my.ini [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=F:\\mysql-8.0.15-winx64 # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠.自己尝试吧 # 设

MySQL8.0 zip压缩包版本 Windows下安装

MySQL zip压缩包版本 Windows下安装 Download MySQL Community Server 解压到相应的目录 我的解压目录:D:\Program Files\mysql-8.0.17-winx64 创建MySQL配置文件 在解压的文件价下创建my.ini文件:编辑my.ini配置以下基本信息: [client] # Set the mysql client default character set default-character-set=utf8 [mysqld]

mysql-8.0.12-winx64 解压版完整安装教程

1.官网下载 https://dev.mysql.com/downloads/mysql/ 2.解压到一个合适的目录 3.配置环境变量 path : bin的目录(必须配置) MYSQL_HOME:mysql解压的目录 (作用:在DOC中,可以在任何盘符运行命令,如果不配置的话,需要到指定的目录) 4.新建一个my.ini  如果没有my.ini 数据库启动时没有了初始化参数 [mysql] ; 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld