ubuntu 终端连接mysql?Ubuntu安装MySQL

大家好,ubuntu 终端连接mysql相信很多的网友都不是很明白,包括Ubuntu安装MySQL也是一样,不过没有关系,接下来就来为大家分享关于ubuntu 终端连接mysql和Ubuntu安装MySQL的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

Ubuntu远程连接MySQL(connection refused)解决方法

解决Ubuntu远程连接MySQL时遇到的"connection refused"问题,首先需要确认Ubuntu防火墙是否已开启并允许3306端口通信。若未开启,可通过命令行输入"sudo ufw allow 3306/tcp"来开放该端口。

接着,检查3306端口是否已生效,使用"sudo netstat-tuln| grep:3306"查看监听状态。如果发现bind-address= 127.0.0.1,这意味着MySQL仅允许本地连接,此时需要编辑配置文件。在终端中输入"sudo nano/etc/mysql/mysql.conf.d/mysqld.cnf",取消注释"bind-address= 0.0.0.0",保存并重启Ubuntu以应用更改。

重启后,再次检查端口状态,然后尝试通过telnet测试连接,如telnet IP_ADDRESS 3306。如果连接失败,说明问题仍未解决。这时,可以考虑授权法,允许root用户从任何主机以password密码连接。执行命令"sudo mysql-u root-p",输入密码后,执行"GRANT ALL PRIVILEGES ON*.* TO'root'@'%' IDENTIFIED BY'password'; FLUSH PRIVILEGES;",确保权限设置正确。

最后,再次使用telnet或尝试在其他设备上连接MySQL,以确认是否已成功远程连接。如果连接成功,问题便得到了解决。

UbuntuMySQL安装和用户登录

Ubuntu MySQL安装和用户登录

在Ubuntu下安装MySQL,首先需要在终端运行以下命令:

sudo apt-get install mysql-server mysql-client

中途会让你输入一次root用户密码

sudo apt-get install php5-mysql

以将php和mysql连接起来

一旦安装完成,MySQL服务器应该自动启动。

手动启动命令如下:

sudo start mysql

手动停止命令如下:

sudo stop mysql

检查mysqld进程是否已经开启,可使用以下命令:

pgrep mysqld

如果进程开启,会返回该进程的id。

ps-A|grep mysql

如果存在mysqld,mysqld_safe等进程,会显示出来,如:

4460 pts/0 00:00:00 mysqld_safe

4583 pts/0 00:00:01 mysqld

登录MySQL时,输入如下命令:

mysql-u root-p

输入密码后,如提示“ERROR 1045(28000): Access denied for user'root'@'localhost'(using password: YES)”,表示root的密码不正确。

解决方法如下:

运行命令:sudo mysqld_safe--user=root--skip-grant-tables--skip-networking&

提示信息如下:

120521 18:46:32 mysqld_safe Logging to syslog.

120521 18:46:32 mysqld_safe Starting mysqld daemon with databases from/var/lib/mysql

提示信息为:

120521 18:44:40 mysqld_safe Logging to syslog.

120521 18:44:40 mysqld_safe A mysqld process already exists

表示mysqld_safe进程存在,通过ps-A|grep mysql查看mysqld_safe进程ID,并使用kill-9-xxxx命令终止ID为xxxx的进程。

接着,输入命令:

mysql-u root mysql

查看user表以获取详细信息,此时会看到root对应的密码。

如果登录失败,再次修改root密码:

update user set password=PASSWORD('www.linuxidc.com') where user='root' and host='localhost';

输入flush privileges;确保退出mysql客户端后能正常登录。

新建用户时出现无法登录的情况,可能的原因包括:

1.密码以字符串'xxxxxx'的形式输入,而非PASSWORD('xxxxxx')形式。

正确的语句:

mysql>insert into user(host,user,password) values('local',jun,PASSWORD('xxxxxx'));

mysql>flush privileges;

2.输入插入语句后,未执行flush privileges;命令。

Ubuntu的相关信息,请访问Ubuntu专题页面。

Ubuntu下Java程序如何连接MySQL数据库

linux ubuntu下用C连MySQL接数据mysql数据库的步骤如下:

1.安装mysql-server,在Ubuntu10.04下安装mysql-server-5.1,会自动安装mysql-client_5.1

sudo apt-get install mysql-server-5.1

2.C APIs包含在mysqlclient库文件中与MySQL的源代码一块发行,用于连接到数据库和执行数据库查询,因此需要安装libmysqlclient-dev

sudo apt-get install libmysqlclient-dev

假定已安装成功,相关文件如下:

头文件在/usr/include/mysql目录下;

库文件在/usr/lib/mysql和/usr/lib目录下

3.启动和关闭mysql

启动mysql:sudo start mysql

关闭mysql:sudo stop mysql

使用ps aux|grep mysql查看mysql启动状态

ps命令用于查看当前系统中运行的进程信息,命令格式:ps [选项]

常见参数:

-a显示系统中所有进程,包括其他用户进程

-e显示所有进程信息

-f显示进程的所有信息

-l显示长格式显示进程的信息

-r只显示正在运行的程序

-u以用户的格式显示进程信息

-x显示所有终端上的进程信息

最常用的方法是ps aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。例如前面使用的ps aux|grep mysql

4.链接库时需要库文件,有静态库文件,也有动态库文件,也有名字相同的静态库文件和动态库文件,如何区分:

.o,.a,.so,.lo,.la后缀文件含义

.o:编译的目标文件

.a:静态库,其实就是把若干o文件打了个包

.so:动态链接库(共享库)

.lo:使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息

.la:使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息

la只有在用libtool编译应用程序或库时才用,即开发者只指明la文件,至于最终链接a还是so由libtool决定,不使用libtool的小程序用不上la。

5.连接MySql

a、连接到本机上的MYSQL:

首先打开终端窗口,再键入命令mysql-u root-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入

到MYSQL中了,MYSQL的提示符是:mysql>

b.修改密码,格式:mysqladmin-u用户名-p旧密码 password新密码

例1:给root加个密码ab12。首先打开终端窗口,然后键入以下命令:mysqladmin-uroot password ab12.(注:因为开始时root没有密码,所以-p旧密码一项就可以省略了)。

例2:再将root的密码改为djg345。 mysqladmin-uroot-pab12 password djg345(注:u与root可以不用加空格,其它也一样)。

c、退出MYSQL命令: exit

6.增加新用户(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)

格式:grant select on数据库.* to用户名@登录主机 identified by"密码"

例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。

首先用以root用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete privileges on*.* to"test1"@"%" Identified by"abc" with grant option;但例1增加的用户是十分危险的,

你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。

例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),

这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。

grant select,insert,update,delete on mydb.* to test2@localhost identified by“abc”;如果你不想test2有密码,可再打一个命令将密码消掉。

grant select,insert,update,delete on mydb.* to test2@localhost identified by“”;

例3、远程登录:

a、默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉:

vi/etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on

# localhost which is more compatible and is not less secure.

#bind-address= 127.0.0.1<---注释掉这一行就可以远程登录了

b、允许远程登录后,还应设置远程登录权限:

mysql>grant all privileges on*.* to"root"@"%" identified by"123456" with grant option;

c、使修改生效:

mysql> flush privileges;

d、在另一台机器上远程登录(mysql所在机器地址:192.168.0.30):

mysql-h192.168.0.30-uroot-p123456

e、如果仍不能登录,就把远程mysql关闭,之后重启

sudo stop mysql

sudo start mysql

7.显示命令:(注:下面来看看MYSQL中有关数据库方面的操作。注意:必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束)。

a、显示数据库列表:show databases;刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。

b、显示库中的数据表:use mysql; show tables;

c、显示数据表的结构:describe表名;

d、建库: create database库名;

e、建表: use库名; create table表名(字段设定列表);

f、删库和删表: drop database库名; drop table表名;

g、将表中记录清空:delete from表名;

h、显示表中的记录:select* from表名;

阅读剩余
THE END