mac mysql 8.0.11配置_MySQL 8.0.11安装配置

如果上述链接失效,一般是因为官网已经更新了新版本,找到最新版本的版本号修改下载即可。

一、mysql-8.0.11-1.el6.x86_64.rpm-bundle.tar解压后有如下7个文件:

-rw-r--r-- 1 root root 28987588 Apr 9 01:06 mysql-community-client-8.0.11-1.el6.x86_64.rpm

-rw-r--r-- 1 root root 672184 Apr 9 01:06 mysql-community-common-8.0.11-1.el6.x86_64.rpm

-rw-r--r-- 1 root root 4443296 Apr 9 01:06 mysql-community-devel-8.0.11-1.el6.x86_64.rpm

-rw-r--r-- 1 root root 2579460 Apr 9 01:06 mysql-community-libs-8.0.11-1.el6.x86_64.rpm

-rw-r--r-- 1 root root 1902676 Apr 9 01:06 mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm

-rw-r--r-- 1 root root 395918848 Apr 9 01:07 mysql-community-server-8.0.11-1.el6.x86_64.rpm

-rw-r--r-- 1 root root 49092596 Apr 9 01:07 mysql-community-test-8.0.11-1.el6.x86_64.rpm

然后创建mysql用户:

useradd mysql

passwd mysql

二、安装顺序为:(强烈建议装之前先把之前的或自带的mysql相关包全部卸载,rpm -e --nodeps 即可)

rpm -ivh mysql-community-common-8.0.11-1.el6.x86_64.rpm \

mysql-community-libs-8.0.11-1.el6.x86_64.rpm \

mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm \

mysql-community-client-8.0.11-1.el6.x86_64.rpm \

mysql-community-server-8.0.11-1.el6.x86_64.rpm \

mysql-community-devel-8.0.11-1.el6.x86_64.rpm

三、安装完毕后相关信息如下:

[root@python ~]# mysql -V

mysql Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL)

[root@python ~]# ll /etc/init.d/mysqld

-rwxr-xr-x 1 root root 7166 Apr 8 16:21 /etc/init.d/mysqld

[root@python ~]# ll /etc/my.cnf --配置文件位置

-rw-r--r-- 1 root root 1188 Apr 8 16:21 /etc/my.cnf

默认的datadir是在/var/lib/mysql/,可以通过修改my.cnf修改,启动命令如下:

[root@python ~]# service mysqld start

Initializing MySQL database: [ OK ]

Starting mysqld: [ OK ]

四、使用默认密码登录MySQL

在安装完后,/var/log/mysqld.log里应该含有临时的root密码,可以直接登录,你可以将此root密码更改为自己更熟悉的密码。

mysql> alter user root@'localhost' identified by 'mysql';

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这里存在密码复杂度要求(在Windows平台使用msi安装mysql时,则有自主选择密码认证方式的步骤,可以比较方便的进行设置。):

mysql> show variables like '%pass%';

+----------------------------------------------+-----------------+

| Variable_name | Value |

+----------------------------------------------+-----------------+

| caching_sha2_password_auto_generate_rsa_keys | ON |

| caching_sha2_password_private_key_path | private_key.pem |

| caching_sha2_password_public_key_path | public_key.pem |

| default_password_lifetime | 0 |

| disconnect_on_expired_password | ON |

| mysql_native_password_proxy_users | OFF |

| password_history | 0 |

| password_reuse_interval | 0 |

| report_password | |

| sha256_password_auto_generate_rsa_keys | ON |

| sha256_password_private_key_path | private_key.pem |

| sha256_password_proxy_users | OFF |

| sha256_password_public_key_path | public_key.pem |

| validate_password.check_user_name | ON |

| validate_password.dictionary_file | |

| validate_password.length | 8 |

| validate_password.mixed_case_count | 1 |

| validate_password.number_count | 1 |

| validate_password.policy | MEDIUM |

| validate_password.special_char_count | 1 |

+----------------------------------------------+-----------------+

发现此值有3个,如下所示:

8c90d9f540281022b5c0e3990c18b2a5.png

于是设置为0,然后将validate_password.length设置为4,表示最少需要4字符。之所以设置为4是因为这个参数的值不能小于如下公式的计算结果:

validate_password.number_count

+ validate_password.special_char_count

+ (2 * validate_password.mixed_case_count)

五、建一个测试用户leo,尝试远程连接下吧:

$ mysql -uleo -pmysql -h192.168.1.193

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

我这5.7的mysql工具都连不上,这就尴尬了,查看认证相关参数:

mysql> show variables like '%auth%';

+-------------------------------+-----------------------+

| Variable_name | Value |

+-------------------------------+-----------------------+

| default_authentication_plugin | caching_sha2_password |

+-------------------------------+-----------------------+

1 row in set (0.02 sec)

查看官网发现此值的取值如下:

6e3f5d728c2be2a5cae1a2f807d73f32.png

官网还说此值影响create user不显式指定auth plugin时密码的默认加密算法,这意味着低版本的mysql工具基本连不上8.0,简单起见我们直接使用以前的加密算法。

mysql> select user,host,plugin from mysql.user;

+------------------+-----------+-----------------------+

| user | host | plugin |

+------------------+-----------+-----------------------+

| leo | % | caching_sha2_password |

| mysql.infoschema | localhost | mysql_native_password |

| mysql.session | localhost | mysql_native_password |

| mysql.sys | localhost | mysql_native_password |

| root | localhost | caching_sha2_password |

+------------------+-----------+-----------------------+

在my.cnf里添加:default_authentication_plugin=mysql_native_password,然后service mysqld restart重启服务,以下只演示leo用户的创建:

mysql> drop user leo;

Query OK, 0 rows affected (0.10 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> create user leo identified by 'mysql';

Query OK, 0 rows affected (0.02 sec)

mysql> grant all on *.* to leo;

Query OK, 0 rows affected (0.08 sec)

$mysql -V

mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using EditLine wrapper

$ mysql -uleo -pmysql -h192.168.1.193

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 16

Server version: 8.0.11 MySQL Community Server - GPL

Copyright (c) 2000, 2017, 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.

mysql>

至此远程连接正常。

如果你想使用8.0的mysql客户端连接8.0以前的mysql server,那么就需要在mysql的命令行后添加--default-auth,示例:

mysql -hxxx -Pxxx -uxxx -pxxx --default-auth="mysql_native_password"

或者在mysql配置文件的[mysql]部分加上default_auth=mysql_native_password.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值