php连接mysql 出现Warning: mysqli_connect()?

php连接mysql 出现Warning: mysqli_connect()?,第1张

用mysql 客户端能连上吗?1、ping服务器2、用mysql命令行连接“mysql -u 用户名 -p -h 服务器地址”。比如 "mysql -u root -p -h 192.168.1.12"注意mysql 8是比较新的客户端,不一定兼容php。建议用centos 或ubuntu预装的LAMP (linux+apache+mysql+php),那样配置工作量是最小的。还有一种情况,就是 php和mysql不在同一个服务器上,这时候要修改mysql配置/etc/my.cnf,将地址绑定到0.0.0.0,而不是127.0.0.1,同时用 "grant" SQL 命令允许外网访问。比如 ` grant all on test.* to root@'%' identified by 'mypassword' `, 这样root用户就可以从别的主机访问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 mysqlshow tables

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

d、建库: create database 库名

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

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

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

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

当 MySQL 服务开启后,就可以通过客户端来登录 MySQL 数据库了。在 Windows *** 作系统下可以使用 DOS 命令登录数据库,本节将介绍使用命令方式登录 MySQL 数据库的方法。

登录 MySQL 数据库的具体 *** 作步骤如下:

步骤 1):单击“开始”→“Windows 系统”→“命令提示符”,如图所示。

步骤 2):打开命令行提示符界面,输入命令cd C:\Program Files\MySQL\MySQL Server 5.7\bin\,按回车键,如图所示。

步骤 3):在命令提示符界面可以通过登录命令mysql -h 127.0.0.1 -u root -p连接 MySQL 数据库。

按回车键,系统会提示输入密码(Enter password),这里输入配置向导中设置的密码,验证正确后,即可登录 MySQL 数据库,如图所示。

提示:mysql 为登录命令,-h 后面的参数是服务器的主机地址,在这里客户端和服务器在同一台机器上,所以输入 localhost 或者 IP 地址;-u 后面跟登录数据库的用户名称,在这里为 root;-p 后面是用户登录密码。

在 DOS 窗口下运行该命令后,系统会提示输入密码。密码输入正确以后,即可登录到 MySQL 数据库。

可以在 mysql 命令中直接加上密码,该命令为 mysql -h localhost -u root -proot。这里的 -p 后面的 root 就是密码。此处特别注意 -p 和密码之间没有空格。如果出现空格,系统将不会把后面的字符串当成密码来对待。

步骤 4):登录成功后进入 MySQL 初始界面,会出现“Welcome to the MySQL monitor”的欢迎语,然后下面还有一些说明性的语句,如图所示。

这些说明性语句介绍如下:

Commands end withor\g:说明 mysql 命令行下的命令是以分号()或“\g”来结束的,遇到这个结束符就开始执行命令。

Your MySQL connection id is 3:id 表示 MySQL 数据库的连接次数。

Server version: 5. 7.29-log MySQL Community Server(GPL):Server version 后面说明数据库的版本,这个版本为 5.7.29。Community 表示该版本是社区版。

Type 'help' or '\h' for help:表示输入”help“或者”\h“可以看到帮助信息。

Type '\c' to clear the current input statement:表示遇到”\c“就清除前面的命令。

提示:当窗口中出现如上图所示的说明信息,命令提示符变为“mysql>”时,表明已经成功登录 MySQL 服务器,可以开始对数据库进行 *** 作了。

通过命令行客户端软件登录

当 MySQL 软件安装完后,一般都会安装一个简单命令行使用程序(MySQL Command Line Client),该客户端没有流行的用户界面。

选择”开始“→”程序“→”MySQL“→”MySQL 5.7 Command Line Client “,打开 MySQL Command Line Client 进入提示输入密码的界面,如图所示。

请点击输入图片描述

输入正确的密码后,登录到 MySQL 软件,如果以这种方式登录 MySQL,需要保证 MySQL 服务处于启动状态。

如果输入密码后,程序窗口出现闪退现象,则可以参考《MySql Command Line Client闪退解决方案》一节。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7243436.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存