mysql echo on_Mysql 注意细节

1.无法连接远程数据库,是因为远程服务器并没有开通权限,提供给其他机子连接:

在服务器机子 开通权限:

1)进去MySql

2)mysql>GRANT   ALL   PRIVILEGES   ON   *.*   TO   'root'@'%'   WITH   GRANT   OPTION //赋予任何主机访问数据的权限

3)mysql>FLUSH   PRIVILEGES //修改生效

4)mysql>EXIT //退出MySQL服务器

方法一:

进入mysql:运行以下两步

grant all on *.* to 用户名@"%" identified by "密码";

flush privileges;

或者:

navicat装在机器A上,ip地址为ipa。mysql数据库装在机器B上,ip地址为ipb。

进入机器B中mysql数据库的命令行,输入grant all on *.*  to 'root'@'ipa'  identified by 'password';

其中ipa为被授权机器A的ip地址,password为机器B中mysql数据库的密码。

2.mysql设置连接其他主机

cmd下进入mysql,update mysql.user set host='%' where user='root';

3.给数据库添加文本显示粗体语句:

insert into 表名 values("

文本内容
")

4.当我们数据的范围超过字段数据类型的范围时,系统不允许加入,这是由数据库模式决定的;

select @@sql_mode;

要把严格strict模式改变,插入数据时自动截取到能允许的范围:

set @@sql_mode=""

5.mysql获得当前时间戳

select unix_timestamp();

用from_unixtime()将时间戳信息格式化显示

6.mysql存储引擎

MyISAM(速度型) InnoDB(安全型) memory BDB

7.mysql数据库授权

grant select,insert,delete,create,drop on *.*(或test.*/user.*/..) to 用户名@localhost identified by '密码';

8.mysqladmin drop databasename 删除数据库前,有提示。

9.INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。

eg: insert ignore into table(name) select name from table2

10.用集成的wamp时,系统打开抱一堆strict的错误,修改方法是在php.ini中修改display_errors=off;添加

error_reporting = E_ALL & ~E_STRICT

11。系统用的nginx服务器,mysql进程无法启动,提示Another MySQL daemon already running with the same unix socket.

原因多个Mysql进程使用了同一个socket。

两个方法解决:

第一个是立即关机 使用命令 shutdown -h now 关机,关机后在启动,进程就停止了。

第二个直接把mysql.sock文件改名即可。也可以删除,推荐改名。

然后就可以启动mysql了。

# mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak

# service mysqld start

12.navicat for mysql 中文乱码:如果数据库都是utf8编码。连接属性的高级里边选择mysql字符集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值