阿里云Ubuntu安装mysql、配置远程连接、以及出现的常见问题
一、安装mysql
1.安装mysql只需要简单的命令:sudo apt-get install mysql-client mysql-server (安装客户端和服务端)
安装之后会出现如下界面,输入密码(图一)重复密码(图二),此密码为登录密码。
有些博客中还会输入命令:sudo apt-get install libmysqlclient-dev (至于这是什么自己网上查)
2.安装完成之后可以使用如下命令来检查是否安装成功:sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功,如下图:
3.登陆mysql数据库可以通过如下命令:mysql -u root -p 输入密码后
4.此时你可以进行一些简单的mysql数据库操作
数据库命令:
show databases; 可查看已有的数据库。
create database 数据库名 charset=utf8; 创建数据库
drop database 数据库名;删除数据库
use 数据库名; 选择要管理的数据库。
表命令:
show tables; 可查看数据库已有的表。
create table 表名(列…); 创建表
drop table [if exists] 表名;删除表。
alter table 表名 add|modify|drop 列名 类型 约束;修改表
desc 表名;查看表结构信息。
在这期间博主犯了一个超级低级的错误:如在输入show databases查看数据库的一直忘记在命令最后加入 ; 导致显示不了数据库,希望大家不会犯这种低级错误,由此我找了好久的原理。。。。 最后给了自己两耳光。至此数据库就已经安装完毕
二、安装mysql常见的错误
(一)在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问,并可修改MySQL密码
首先解析此英文:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES);解析的地方有两处:①Access denied(拒绝访问);②using password:NO/YES
1.解决方案: 找到/etc/mysql/mysql.conf.d/mysqld.cnf文件 输入命令vim /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]后添加skip-grant-tables(使用 set password for设置密码无效,且此后登录无需键入密码)
2.重启MySQL服务器 service mysql restart
3.登录mysql,键入mysql –u root –p;直接回车(Enter)
4.继续输入如下命令:
- mysql> use mysql;
-
mysql> select User from user; #此处为查询用户命令
-
mysql> update user set password=password("你的新密码") where user="用户名"
-
mysql> flush privileges; #立即生效
-
mysql> quit;
(二)、当你修改密码数可以会出现报错:ERROR 1054(42S22) Unknown column 'password' in ‘field list’
1.错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
2.将上述命令:mysql> update user set password=password("你的新密码") where user="用户名"
改成:mysql> update mysql.user set authentication_string=password('你的新密码') where user='用户名; #修改密码成功
其他命令一样按照顺序输入即可
三、远程连接阿里云服务器MySql数据库
(一)、当通过xshell连接阿里云数据库可能报错:mysql:1130 is not allowed to connect to this MariaDB server(没有远程登录权限,注:这里的MariaDB 是MySQL的延伸版)
则需要登录mysql 执行下列命令:
- mysql -u root -p
- use mysql;
- grant all privileges on *.* to [email protected]'%' identified by "password";
- flush privileges;
- exit;
(一)、此时可能会报另外一个错误:mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '192.168.1.20:3306' (111 Connection refused)
1.解决方案:在阿里云配置如下安全组
至此在阿里云ubuntu上安装mysql进行远程连接的步骤和常见报错文件基本已经解决,文章内容比较多,静下来仔细阅读,相信一定能给你们解决相应的问题,毕竟我也是每个坑慢慢爬出来的。