❶ ubuntu下mysql配置问题,无法使用数据库。。。。
在连接mysql时没有"-u"参数导致的
[root@vps ~]# mysql -hlocalhost -root -p
重新连接mysql加上-u参数一切正常
[root@vps ~]# mysql -hlocalhost -uroot -p
❷ 打不开ubuntu服务器端的mysql,在线求解答
打不开ubuntu服务器端的mysql,在线求解答
linux启动/停止/重启Mysql数据库的方法
1、查看mysql版本
方法一:status;
方法二:select version();
2、Mysql启动、停止、重启常用命令
a、启动方式
1、使用 service 启动:
[root@localhost /]# service mysqld start (5.0版本是mysqld)
[root@szxdb etc]# service mysql start (5.5.7版本是mysql)
❸ mysql-front 无法远程连接mysql数据库
不允许远程连接这个数据库,你看下mysql端口是否打开,另外查看一下mysql是否允许远程连接
几个解决方案,自己看下
1.修改改mysql配置文件(/etc/mysql/my.cnf),注释以下行:
#bind-address
=
127.0.0.1
2.重启mysql数据库,对于ubuntu系统,执行如下命令
sudo
/etc/init.d/mysql
restart
3.以root用户登录mysql后,执行如下命令:
grant
all
privileges
on
*.*
to
root@’允许登录的远程机器ip’
identified
by
‘密码’
或者
grant
all
privileges
on
*.*
to
'myuser'@'%'
identified
by
'mypassword'
with
grant
option;
如果你想允许用户myuser从ip为168.160.12.50的主机连接到mysql服务器,并使用mypassword作为密码
grant
all
privileges
on
*.*
to
'myuser'@'168.160.12.50'
identified
by
'mypassword'
with
grant
option;
❹ Ubuntu下搭建discuz安装环境无法连接mysql问题
1、检查mysql数据库防火墙和mysql账户
在mysql数据库netstat -ntlp看3306是否开启
iptables -nvL检查防火墙
mysql -uroot -p123456 -Dmysql -e "select user,host from user;"
2、创建数据库
mysql> create database discuz_db;
3、创建用户:
mysql> CREATE USER ‘user01’@’192.168.26.128’ IDENTIFIED BY ‘123456’;”
或者
mysql> CREATE USER ‘user01’@’%’ IDENTIFIED BY ‘123456’;”
4、授权:
mysql>GRANT ALL ON discuz_db.* TO ‘user01’@’192.168.26.128';”
或者
mysql>GRANT ALL ON discuz_db.* TO ‘user01’@’%';”
mysql>flush privileges;
5、在apache服务器telnet 192.168.26.130 3306,判断端口能否访问到
6、在apache服务器测试mysql远程登陆
mysql -h 192.168.26.130 -uroot -p123456 -P3306
❺ 怎么连接ubuntu mysql
ubuntu上安装mysql非常简单只需要几条命令就可以完成。
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
❻ 怎么远程登录ubuntu下mysql数据库
mysql error number 2003
Can't connect to MySQL server xxx.xxx.xxx.xxx (10061)
在ubuntu 9.04中默认安装了mysql,默认只能本地访问,google了一下:
采用
登录到MySQL服务器端,在mysql库下执行
grant all on *.* to 'remote'@'172.16.21.39' identified by 'password';
即可
如果要设置为任何客户端都可以以root连接的话,可以这么写:
grant all on *.* to 'root'@'%' identifiied by 'root的密码'
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
类似这用方法的整理如下:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
但问题仍没有解决:
找到 命令 mysql> flush privileges //使修改生效
显示影响了零行。
问题依然没有解决,重新启动mysql sudo /etc/init.d/mysql restart
还是不行。
从 http://www.blogjava.net/waterjava/archive/2008/04/27/196385.html
了解到mysql有本机绑定,找到问题所在。
编辑 /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
将”bind-address = 127.0.0.1“注释
sudo /etc/init.d/mysql restart重启即可远程访问
问题解决
****************************************************************************************
root@kiki-desktop:/etc/apache2# apt-get install libapache2-mod-auth-mysql
apt-get install lighttpd
apt-get install openssl
root@kiki-desktop:/etc/apache2# apt-get install libapache2-mod-gnutls
$ mysql -u root -p
mysql> use authz_db;
mysql> CREATE TABLE users(
-> user_name CHAR(30) NOT NULL,
-> user_passwd CHAR(20) NOT NULL,
-> PRIMARY KEY (user_name)
-> );
mysql> GRANT SELECT
-> ON authz_db.users
-> TO authuser@localhost
-> IDENTIFIED BY 'Your Password Here';
mysql> flush privileges;
mysql> INSERT INTO users VALUES('test',ENCRYPT('TEST'));
root@kiki-desktop:/etc/apache2# chkconfig --level 35 mysqld on
---------------------------------
如果要设置为任何客户端都可以以root连接的话,可以这么写:
grant all on *.* to 'root'@'%' identifiied by 'root的密码'
进入mysql,
grant all on *.* to 'root'@'%' identifiied by 'root的密码'
root@kiki-desktop:/etc/mysql# vim /etc/mysql/my.cnf
编辑 /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
将”bind-address = 127.0.0.1“注释
root@kiki-desktop:/etc/mysql# /etc/init.d/mysql restar
❼ 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 表名;
❽ ubuntu 16.04 外网一直无法连接mysql 什么都设置了 还是没用
ubuntu 16.04 外网一直无法连接mysql 什么都设置了 还是没用
安装需要使用root账号,如果不会设置root账号的请参考Linux公社的其他文章。安装mysql过程中,需要设置mysql的root账号的密码,不要忽略了。
sudo apt-get install mysql-server
apt isntall mysql-client
apt install libmysqlclient-dev
❾ ubuntu mysql 连接不上
你的root@localhost密码输对了吗
❿ ubuntu linux 下使用Qt连接MySQL数据库
Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。
环境说明:
ubuntu
10.04.2
QtSDK
(1.5G安装包的那个)
mysql5.1
1.安装MySQL
Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。
server在安装时会提示为root用户设置密码,设一个好了。
我使用的是mysql5.1版本,用户名密码存储在一个叫mysql的数据库里,只有管理员级别才能看到。
如果直接在终端中输入
mysql,可能会提示ERROR
1045
(28000),这是因为这时候你是以自己用户名访问数据库,而目前数据库中只有一个root用户。没关系,如果有必要,可以添加一个用户进去:
mysql
-uroot
-p
--
以root用户登录
grant
usage
on
*.*
to
mmy@localhost;
--
授权名为mmy的用户本地登录,这里换成自己的用户名就可以了
不过这时候直接mysql只有普通的权限,创建数据库、操作mysql都是不可以的,如果真有将其赋予管理员权限的需要,可以自己查阅有关资料。
2.安装Qt的MySQL驱动。
方法一:直接sudo
apt-get
install
libqt4-sql-mysql
,这是Qt4的mysql驱动,就不用自己费劲编译了,不过可能会额外下载一些东西。
将
/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷贝到你的QtSDK
sqldrivers目录下,我当时是直接用普通权限安装,目录为:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
方法二:其实你也可以sudo
apt-get
download
libqt4-sql-mysql,把包解压缩,然后把里面的so文件搜出来直接拷贝到那里。
方法三:乖乖按照官方方法编译,但是貌似可行性不大,因为新版本的QtSDK并没有src目录,默认也没有mysql的驱动。
3.做个demo试一下
记得在pro文件中
QT
+=那里加上sql,否则qmake是不会去找sql的相关部分的
复制代码代码如下:
#include
QtCore/QCoreApplication
#include
QSqlDatabase
#include
QDebug
int
main(int
argc,
char
*argv[])
{
QCoreApplication
a(argc,
argv);
QSqlDatabase
db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("study");
db.setUserName("root");
db.setPassword("tyh");
if(!db.open()){
qDebug()
"Unable
to
open
database";
}else{
qDebug()
"Database
connection
established";
}
return
a.exec();
}
这里study这个数据库之前我已经创建过了,如果连接成功,就会显示Database
connection
established。
我是建立的控制台程序哈。
软件教程小编推荐:
Linux安装配置MariaDB数据库全程详解
Linux系统怎么设置开机密码?
Linux启动菜单修改教程