MySql教程

Ubuntu18.04服务器安装mysql,亲测有效

本文主要是介绍Ubuntu18.04服务器安装mysql,亲测有效,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、安装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
    出现下面结果就选正常:
    

 

四、远程访问

    很多人都是这里出问题了: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

    

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

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

这应该就不会出错了。


 

这篇关于Ubuntu18.04服务器安装mysql,亲测有效的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!