美文网首页
MySQL 初始配置修改

MySQL 初始配置修改

作者: 鹏程1995 | 来源:发表于2020-02-11 11:26 被阅读0次

    修改root用户密码

    代码

    # 修改密码
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('12345aA)');
    # 使更新起作用,当然,你用 /etc/init.d/mysqld restart 重启也能做到更新
    flush privileges;
    
    

    注意点

    报错:密码安全等级不够

    很多时候我们在修改密码时,会有报错,说密码安全程度不够:

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

    翻译过来,是:

    你的密码不满足当前的安全要求。

    我们先看一下当前的安全要求都有哪些:

    # 获得和密码设置时有效验证相关的变量
    SHOW VARIABLES LIKE 'validate_password%'
    

    显示的结果如下:

    
    +--------------------------------------+--------+
    | Variable_name                        | Value  |
    +--------------------------------------+--------+
    | 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      |
    +--------------------------------------+--------+
    
    

    我们依次介绍:

    • validate_password_dictionary_file:密码验证字典文件,emmm一般不会去动它
    • validate_password_length:密码总体最小长度
    • validate_password_mixed_case_count:密码的大小写字母数量,密码中的大写字母数量和小写字母数量都不能小于此值
    • validate_password_policy: 密码安全要求等级
    • validate_password_special_char_count:密码中特殊字符数量(什么括号,逗号之类的特殊符号)

    比如说,上面显示的要求是密码至少为8位,其中至少有一个大写字母、一个小写字母、一个特殊符号

    当然,上面的这些变量也是可以修改的,修改语句如下:

    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;
    

    设置远程连接

    查找问题

    use mysql;
    select host,user from user;
    

    显示的host是localhost,表示只能从本机登陆。

    修改命令如下:

    # 设置远程可连接
    use mysql;
    # 从任意ip可以连接,如果设置为具体的ip,则只能从固定的ip进行连接
    update user set host='%' where user="root"
    

    最后,重启更新一下:

     /etc/init.d/mysqld restart
    

    附录:Linux下命令行安装mysql的完整流程

    使用apt-get安装

    安装命令如下:

    sudo apt-get install mysql-server
    sudo apt install mysql-client
    sudo apt install libmysqlclient-dev
    

    检测安装结果命令:

    sudo netstat -tap | grep mysql
    

    成功安装的话,结果如下:

    1.png

    登陆遇到的问题——无法使用mysql密码

    登陆命令,因为默认使用的是UNIX auth_socket插件。,所以不用密码可以直接登陆:

    mysql -u root 
    

    在这种清况下,上面的设置密码是不管用的,我们可以输入下面的命令进行对比:

    SELECT User, Host, plugin FROM mysql.user;
    

    很容易发现区别【当然,你显示的可能和我不太一样,因为我改了不少,才发现的问题】:

    2.png

    很容易发现区别,在这种情况下,即使我们将host配置成%,也无法使用ip登陆【127.0.0.1也做不到】。

    解决方案一:新建账户

    新建账户及登陆

    mysql 命令如下:

    CREATE USER 'lpc_test'@'%' IDENTIFIED BY '12345aA)';
    

    创建账户情况如下:

    3.png

    尝试登陆:

    4.png

    使用127.0.0.1和mysql密码登陆成功~

    解决方案二:修改账户支持的组件

    这个方案我们不推荐,只是告诉大家一个关于auth_socket的启用、弃用方法。

    创建使用auth_socket验证的账户

    CREATE USER 'learn'@'localhost' IDENTIFIED WITH auth_socket;
    SELECT User, Host, plugin FROM mysql.user;
    

    结果如下:

    5.png

    如果本地主机上具有登录名,可以直接链接。

    将依赖auth_socket的用户转为依赖密码验证

    ALTER USER 'learn'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345aA)';
    

    此处不在赘述。

    登陆遇到的问题——公网ip无法登陆

    继续上面的问题:

    6.png

    使用公网ip无法连接,我们使用检测mysql是否安装成功的命令看看这个服务是怎么监听端口的:

    netstat -nutlp|grep mysql
    

    结果如下:

    7.png

    他监听的是127.0.0.1或者是localhost,绑定了本地回旋地址,这样他是无法接收到其他ip的请求的,应该改成0.0.0.0

    修改方法为修改/etc/mysql/mysql.conf.d/mysqld.cnfbind-address

    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    

    新加或者修改配置为:

    bind-address=0.0.0.0
    

    然后重启mysql服务

    service mysql restart
    

    检测服务监听情况:

    8.png

    尝试链接:

    9.png 10.png

    文献参考

    安装mysql

    https://blog.csdn.net/xiangwanpeng/article/details/54562362

    解决认证组件问题

    https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost

    创建用户及授权

    https://www.jianshu.com/p/d7b9c468f20d

    auth_socket
    https://blog.csdn.net/weixin_41918841/article/details/82997651

    相关文章

      网友评论

          本文标题:MySQL 初始配置修改

          本文链接:https://www.haomeiwen.com/subject/xxotfhtx.html