mysql中不能创建数据库,为什么呢?

mysql中不能创建数据库,为什么呢?,第1张

mysql中不能创建数据库是设置错误造成的,解决方法为:

1、选择【开始】-【运行】,打开运对话框。

2、输入cmd。按回车键。打开DOS命令行窗口。

3、连接数据库:在打开的DOS命令行窗口中,中输入mysql -uroot -p。按下回车键。然后输入密码。进行mysql控制台。注意:-uroot中,root是mysql的用户名。

4、创建数据库:在命提示符中输入:create database user_id。按回车键。注意:create database是创建数据库的命令。user_id是要创建数据库的名称,这个可随便命名,只要符合mysql中的命名规范就好。

5、出现 Query OK, 1 row affected (0.35,sec)这信息,就说明数据库创建成功了。

出现这种情况是因为你建表的SQL语句有错误,

你的给出的代码里option为MYSQL关键字,不能直接写,需要用`包括起来,为:  `option` varchar(50) NOT NULL default ''

----下面就没问题了

CREATE TABLE components (

id int(11) NOT NULL auto_increment,

name varchar(50) NOT NULL default '',

link varchar(255) NOT NULL default '',

menuid int(11) unsigned NOT NULL default '0',

parent int(11) unsigned NOT NULL default '0',

admin_menu_link varchar(255) NOT NULL default '',

admin_menu_alt varchar(255) NOT NULL default '',

`option` varchar(50) NOT NULL default '',

ordering int(11) NOT NULL default '0',

admin_menu_img varchar(255) NOT NULL default '',

iscore tinyint(4) NOT NULL default '0',

params text NOT NULL,

PRIMARY KEY (id)

) TYPE=MyISAM

扩展资料:

MYSQL 报错解决:

1.Starting MySQL.Manager of pid-file quit without updating fi[失败]

关于这个错误原因有很多,最大的可能是没有创建测试数据库,可以用/usr/local/mysql/scripts/mysql_install_db _user=mysql命令进行创建;另外一个原因可能是权限设置问题,需要赋予mysql的data权限,可以用chmod -R 命令。

2.FATAL ERROR: Could not find /home/mysql/bin/my_print_defaults If you are using a binary release,you must run this script from

within the directory the archive extracted into. If you compiled

MySQL yourself you must run ‘make install’ first.

这个错误,是没有指明mysql的data路径导致的:

vim /etc/my.cnf

在[mysqld] 后面加上路径:

basedir = /usr/local/mysql

datadir =/opt/data;

3.-bash: mysql: command not found

用mysql命令进行登陆mysql报错,原因是没有设置环境变量,需要设置。

mysql -u root

4.ERROR 1130: Host ’192.168.1.3′ is not allowed to connect to this MySQL server

用mysql远程工具链接数据库报错,这个错误原因是没有开放远程链接功能,可以在mysql里面输入如下命令进行解决:GRANT ALL PRIVILEGES ON *.* TO ’root‘@’%' IDENTIFIED BY ’password’ WITH GRANT OPTION

参考资料:百度百科-mySQL

MySQL数据库 Too many connections

出现这种错误明显就是 mysql_connect 之后忘记 mysql_close;

当大量的connect之后,就会出现Too many connections的错误,mysql默认的连接为100个,而什么情况下会出现这种错误呢?

正常的mysql_connect 之后调用 mysql_close()关闭连接

但在连接错误时,会者mysql_real_query()出现错误退出时,可能忘记mysql_close()

所以在程序return 之前一定要判断是否close(),最稳妥的方法就是在写任何函数时都只有一个出口!

还有可以通过修改mysql配置文件来加大允许连接的数量!

有时你的服务器是经常出现这样的错误呢:

错误信息如下:

Can not connect to MySQL server

Error: Too many connections

Errno.: 1040

Similar error report has beed dispatched to administrator before.

从官方文档知道Linux上面编译安装的mysql默认的连接为100个

文档:http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

mysql官方告诉我们需要修改max_connections的值,那么我们怎么去修改呢?有两种方法

1、修改配置文件文件

修改/etc/my.cnf这个文件,在[mysqld] 中新增max_connections=N,如果你没有这个文件请从编译源码中的support-files文件夹中复制你所需要的*.cnf文件为到 /etc/my.cnf。我使用的是my-medium.cnf,中型服务器配置。例如我的[mysqld]的内容如下

[mysqld]

port = 3306

socket = /tmp/mysql.sock

skip-locking

key_buffer = 160M

max_allowed_packet = 1M

table_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

max_connections=1000

由于对mysql还不是很熟悉,所以很多参数没有修改。哈哈。。

2、非使用mysqld脚本自动启动的用户。

修改MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe这个文件grep−n‘maxconnection′

MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe这个文件grep−n‘maxconnection′MYSQL_HOME/bin/mysqld_safe

修改对应行号的max_connections参数值

3、服务器登录mysql : mysql -u root -p

百分之九十进不去,进不去的执行重启命令 :/etc/init.d/mysql restart(centos系统)

此时重启mysql就能连接mysql了,如果还有时间,可以继续下一步,治病要治本

打开配置文件 添加一下配置 vi /etc/my.cnf

wait_timeout = 600

interactive_timeout = 600

再次重启mysql即可

原理解答

mysql 默认100 连接数,超过则连不上,实际工作的连接数远远没有100,大部分在sleep

所以要么增大连接数,要么杀掉无用连接,推荐后者。


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

原文地址: http://outofmemory.cn/zaji/8526214.html

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

发表评论

登录后才能评论

评论列表(0条)

保存