文章有点长,那是因为遇到的问题多。

一、安装mysql:
    输入命令:sudo apt-get update
    
    输入命令:sudo apt-get install mysql-server
二、初始化配置:
    输入命令:sudo mysql_secure_installation

下面是执行命令后的内容:
#1
好像是下载一个东西用于密码测试吧
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (我的选项)

#2
root账户设置密码
Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入)

#3
默认情况下,MySQL安装有一个匿名用户。
允许任何人登录MySQL,而不需要为他们创建一个用户帐户。
要删除匿名账号吗
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (我的选项)

#4
通常情况下,只允许root从'localhost'连接。
这可以确保有人无法从网络上猜出根密码。
不允许远程登录根目录root
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y (我的选项)

#5
默认情况下,MySQL有一个名为 "test "的数据库,任何人都可以访问。
删除测试数据库和对它的访问
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (我的选项)

#6
重新加载权限表将确保到目前为止所有的改变
将立即生效。
现在重新加载权限表吗
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (我的选项)

三、检查mysql服务状态

    

    输入命令:systemctl status mysql.service

    出现下面结果就选正常:

    

apt安装mysql查看密码_apt安装mysql查看密码

四、远程访问

    很多人都是这里出问题了:1、开放权限。2、创建新用户。3、修改配置文件

    用根用户进入mysql:sudo mysql -uroot -p

     1、让所有的主机都能连接本地的mysql,root好像不能被访问到,所以下面2中创建新用户。
    输入命令:GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";

     2、用root用户创建新的数据库和用户:
    创建数据库
    输入命令:create database dog;
    创建用户cx,密码87654321,并允许cx用户可以从任意机器上登入mysql
    输入命令:GRANT ALL PRIVILEGES ON dog.* TO cx@"%" IDENTIFIED BY "87654321";
    这里会出错:Your password does not satisfy the current policy requirements

linux对于密码
    设置每次登录之后都要重新配置,总之只要报错就得重新配,我配了四遍,应该是配置
    好后不要急着重启数据库吧,要不白配置了)

set global validate_password_policy=0;
    set global validate_password_mixed_case_count=0;
    set global validate_password_number_count=3;
    set global validate_password_special_char_count=0;
    set global validate_password_length=3;
    SHOW VARIABLES LIKE 'validate_password%';

    输入命令:SHOW VARIABLES LIKE 'validate_password%';
    就会出现:

+--------------------------------------+--------+
 | Variable_name                        | Value  |
 +--------------------------------------+--------+
 | validate_password_check_user_name    | OFF    |
 | validate_password_dictionary_file    |        |
 | validate_password_length             | 3      |
 | validate_password_mixed_case_count   | 0      |
 | validate_password_number_count       | 3      |
 | validate_password_policy             | LOW    |
 | validate_password_special_char_count | 0      |
 +--------------------------------------+--------+


    检查用户名字
    插件用于验证密码强度的字典文件路径
    密码最小长度,参数默认为8,
    密码至少要包含的小写字母个数和大写字母个数
    密码至少要包含的数字个数。
    密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。
    密码至少要包含的特殊字符数。

    在执行:GRANT ALL PRIVILEGES ON dog.* TO cx@"%" IDENTIFIED BY "87654321";

    最后改一下mysql配置文件:

     3、exit退出mysql系统
    输入命令:vim /etc/mysql/mysql.conf.d/mysqld.cnf
    找到bind-address的值修改为0.0.0.0

五、连接navicat

    

apt安装mysql查看密码_mysql_02

 这个应该是mysql重启造成的,密码的配置又复原了,重新配置一下cx账户下的密码试试:

apt安装mysql查看密码_apt安装mysql查看密码_03

 果然是这样:只要退出mysql密码就失效了,所以配置好之后赶紧连接。

这应该就不会出错了。