创建mysql数据库并远程连接

一、安装ubuntu 20.04 ,创建用户名和密码

二、查看ubuntu中是否已经安装mysql

        执行命令查看版本号,当显示没有找到“mysql”时,说明mysql未安装

user@..~:mysql --vesion

三、安装mysql

1、安装mysql服务端:

sudo apt-get install mysql-server

2、切换到root

sudo su root

3、下载安装mysql的客户端:

sudo apt-get install mysql-client

4、查看是否安装成功

sudo service mysql status

5、启动mysql服务

sudo service mysql restart

四、使用mysql

 1、进入数据库

        第一次登录时会提示设置密码

sudo mysql -u root -p

2、查看已有数据库

mysql> show databases;

3、创建数据库

mysql> create database test;

 4、进入指定数据库:

mysql> use test;

5、退出客户端

退出mysql:ctrl+z+回车,或者exit

mysql> exit;

 五、远程连接

1、修改配置文件

        在打开文件后,在文件中找到:bind-address = 127.0.0.1这一行,然后注释掉这一行。
        然后重启mysql,[service mysql restart]

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

#命令说明:
i:光标后键入insert

I:光标前键入

a:新建一行开始键入

x:删除光标后的字符

ESC:退出编辑状态,进入Vim命令行状态;

q:ESC之后,先敲出冒号“:”,再跟上“q”,表示退出;后面再多接一个叹号“!”表示强制退出;

wq:ESC之后,先敲出冒号“:”,再跟上“wq”,表示保存并退出;后面再多接一个叹号“!”表示强制保存后退出;

2、进入我们要修改的数据库

mysql> use mysql;
mysql> select host,user from user;

3、修改mysql 数据库中user 表中的特定用户(root) 的host 的属性值localhost.

mysql> update user set host='%' where user='root';

mysql> grant all privileges on root.* to 'root'@'%';

mysql> flush privileges;

4、(a.更改加密方式 b.更改密码 c.刷新权限) 具体密码自己修改:

mysql> alter user 'root'@'%' identified by '123456' password expire never;

mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';

mysql> flush privileges;

  5、设置远程

创建mysql数据库并远程连接_第1张图片

 6、查看ip

创建mysql数据库并远程连接_第2张图片

 7、nacival连接mysql

创建mysql数据库并远程连接_第3张图片

问题1:ubuntu上mysql登录错误的解决方法

 1、 vim /etc/my.cnf文件;

        在[mysqld]后添加skip-grant-tables(登录时跳过权限检查) 

 2、重启服务

 3、不用密码直接登录mysql

创建mysql数据库并远程连接_第4张图片

 4、修改密码

         错误原因:mysql版本不同

创建mysql数据库并远程连接_第5张图片

 创建mysql数据库并远程连接_第6张图片

         密码设置成功

问题2:过段时间后mysql又连接不上,原因是IP变了

踩坑路程如下:

检查1:mysql是否成功启动

报错:warning: cannot change directory to /nonexistent: No such file or directory

root@JSDESIGN058:~# sudo service mysql restart
 * Stopping MySQL database server mysqld                                                                        [ OK ]
 * Starting MySQL database server mysqld
warning: cannot change directory to /nonexistent: No such file or directory

解决:执行如下命令

sudo systemctl stop mysql.service
sudo usermod -d /var/lib/mysql/ mysql
sudo systemctl start mysql.service

重新启动成功

root@JSDESIGN058:~# sudo service mysql restart
 * Stopping MySQL database server mysqld                                                                                                      [ OK ]
 * Starting MySQL database server mysqld

检查2:Mysql密码是否正确

按上述问题1的方法检查或修改密码,此处不再赘述

检查3: 是否远程设置成功,检查端口设置

把user表中root的访问host从localhost改为%,也就是任意不限制本地访问。如上文所述,此处不再赘述。

修改mysqld.cnf配置文件,用vim把bind-address改为0.0.0.0,port = 3306,重启

查看端口状态如下,即为成功。

root@JSDESIGN058:~# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      16066/mysqld
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      16066/mysqld

错误:vi编辑时出现E325:ATTENTION,

原因是在vim编辑时意外退出,生成副本,需要删除


E325: ATTENTION
Found a swap file by the name "/.local/share/nvim/swap//%home%dev%xuexi%tool%main.c.swp"

解决:找到开头前两行,找出name 后面的文件路径以及名称,复制你的swap文件路径以及名称 (每个人因为创建的文件名称不同,路径不同,复制的内容肯定也有所不同)也就是复制示例上的/.local/share/nvim/swap//%home%dev%xuexi%tool%main.c.swp(示例)

底行模式:q退出,直接在命令行输入rm  (你所复制的内容)即可解决问题

示例:

root@JSDESIGN058:~# rm /.local/share/nvim/swap//%home%dev%xuexi%tool%main.c.swp

检查4:检查ip

原因:ubuntu的ip地址漂移问题,所以当服务器断开后,IP会变化

输入命令检查IP,可以发现ip已经变化 

创建mysql数据库并远程连接_第7张图片

按新的ip连接navicat后,可以看到已经连接成功

创建mysql数据库并远程连接_第8张图片

 

你可能感兴趣的:(mysql,数据库,ubuntu)