在本地电脑MySQL中怎么创建数据库?高手帮忙

作者&投稿:兴顺 (若有异议请与网页底部的电邮联系)
mac连接不了本地mysql数据库,有没有高手,麻烦帮忙看一下~

1. mysql -h 127.0.0.1 的时候,使用TCP/IP连接,
mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain"
2. mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket;
此时,mysql server则认为该client是来自"localhost"
3. mysql权限管理中的"localhost"有特定含义:
—— MySQL手册 5.6.4 ..... A Host value may be a hostname or an IP number, or 'localhost' to indicate the local host.

问题表象:

我的mysql中的 my.ini文件配置:

[csharp] view plaincopyprint?
#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/software_builder/mysql/"

#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/software_builder/mysql/"

#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"



我在 datadir的路径下找到.err文件,查看错误原因

[html] view plaincopyprint?
121022 15:21:06 [Note] Plugin 'FEDERATED' is disabled.
D:\software_builder\mysql\bin\mysqld: Table 'mysql.plugin' doesn't exist
121022 15:21:06 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
121022 15:21:06 InnoDB: The InnoDB memory heap is disabled
121022 15:21:06 InnoDB: Mutexes and rw_locks use Windows interlocked functions
121022 15:21:06 InnoDB: Compressed tables use zlib 1.2.3
121022 15:21:06 InnoDB: Initializing buffer pool, size = 500.0M
121022 15:21:06 InnoDB: Completed initialization of buffer pool
121022 15:21:06 InnoDB: Log file .\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile0 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
121022 15:21:07 InnoDB: Log file .\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile1 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
121022 15:21:10 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
121022 15:21:10 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
121022 15:21:10 InnoDB: Waiting for the background threads to start
121022 15:21:11 InnoDB: 1.1.8 started; log sequence number 3700748
121022 15:21:11 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
121022 15:21:06 [Note] Plugin 'FEDERATED' is disabled.
D:\software_builder\mysql\bin\mysqld: Table 'mysql.plugin' doesn't exist
121022 15:21:06 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
121022 15:21:06 InnoDB: The InnoDB memory heap is disabled
121022 15:21:06 InnoDB: Mutexes and rw_locks use Windows interlocked functions
121022 15:21:06 InnoDB: Compressed tables use zlib 1.2.3
121022 15:21:06 InnoDB: Initializing buffer pool, size = 500.0M
121022 15:21:06 InnoDB: Completed initialization of buffer pool
121022 15:21:06 InnoDB: Log file .\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile0 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
121022 15:21:07 InnoDB: Log file .\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile1 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
121022 15:21:10 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
121022 15:21:10 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
121022 15:21:10 InnoDB: Waiting for the background threads to start
121022 15:21:11 InnoDB: 1.1.8 started; log sequence number 3700748
121022 15:21:11 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

尝试过无数种网络搜索的解决方法,有过重装mysql的念头,也有过砸电脑的冲动,但最后还是天不负有心人,终于找到了解决方法;

第一步:在mysql的安装目录下 basedir="D:/software_builder/mysql/的data文件夹里“D:\software_builder\mysql\data”" 下面还有一个mysql的文件夹(如图),


把“mysql文件夹”拷贝到数据库的数据存放位置的data文件夹下(我的是:C:\ProgramData\MySQL\MySQL Server 5.5\data)



然后在服务里面启动mysql服务,结果:“I get it !”
这是网上找到的不知有没有用,试试吧。

一) 连接MYSQL:
格式: mysql -h主机地址 -u用户名 -p用户密码

1、例1:连接到本机上的MYSQL
首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:\mysql\bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL
假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
mysql -h10.0.0.1 -uroot -p123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令
exit (回车)

(二) 修改密码:
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码123。首先在DOS下进入目录C:\mysql\bin,然后键入以下命令:
mysqladmin -uroot -password 123
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为456
mysqladmin -uroot -pab12 password 456
(三) 增加新用户:(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

但例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 "";
(四) 显示命令
1、显示数据库列表:
show databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;

MySQL导入导出命令
1.导出整个数据库
  mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

3.导出一个数据库结构
  mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库
  常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source d:wcnc_db.sql (注:如果写成source d:\wcnc_db.sql,就会报语法错误

首先你打开mysql数据库的界面后,在指令中输入create database就行了,如果你还对T-SQL语句不够了解的话,建议先学习一下sql2005,它是很容易入门的,mysql在无可视化工具下,完全靠的是程序员对sql语句的了解,就比如在dos和window两种操作系统,window就比较容易入门,但dos是对你的能力的提升和对自己的自信

如何通过命令行创建和设置一个MySQL用户
答:将全部的权限赋予所有数据库/表:mysql> GRANT ALL ON *.* TO 'myuser'@'localhost';你也可以将用户现有的权限删除。使用以下命令废除"myuser"帐号的现有权限:mysql> REVOKE <privileges> ON <database>. FROM 'myuser'@'localhost';为用户添加资源限制 在MySQL中,你可以为单独的用户设置MySQL...

如何使用mysql workbench创建本地数据库
答:2、启动MySQL后,我们找到需要用到的脚本文件,也就是数据库文件,当然,我们首先得建立一个数据库,这样才可以导入脚本。3、我们在将脚本拷到本地磁盘的根目录,这样方便进入找到脚本,这里以D盘来说明,使用test.sql:接着我们来到命令行,使用SOURCE d:/test.sql;来导入数据库,先进入mysql 4、首先要...

如何在mysql中创建数据库
答:mysql中创建数据库,用到的工具:phpmyadmin,步骤如下:打开phpmyadmin(以本地localhost/phpmyadmin为示例),输入数据库管理员账号和密码进行登录。2.点击数据库。3.输入要创建的数据库名称,非特殊需要,数据库编码选择默认,然后点击创建。4.为创建的数据库创建用户,点击用户,添加用户。5.普通用户的话...

怎么在mysqlworkbench里创建数据库
答:2、启动MySQL后,我们找到需要用到的脚本文件,也就是数据库文件,当然,我们首先得建立一个数据库,这样才可以导入脚本。3、我们在将脚本拷到本地磁盘的根目录,这样方便进入找到脚本,这里以D盘来说明,使用test.sql:接着我们来到命令行,使用SOURCE d:/test.sql;来导入数据库,先进入mysql 4、首先要...

如何在windows下搭建mysql数据库
答:创建步骤如下:Windows操作系统下,开始——运行,打开"运行"对话框,输入cmd,点击“确定”即可进入DOS窗口,输入登录MySQL数据库命令 mysql -h 127.0.0.1 -u root -p 参数含义:mysql是登录数据库的命令,-h 后面跟服务器的IP,由于本示例MySql服务器安装在本地,因此IP地址为127.0.0.1;-u ...

mysql创建用户并给与一个完整的数据库,怎么写语句
答:1、用管理员登陆mysql 2、创建数据库create database db01;3、创建用户 user01只能本地访问 CREATE USER user01@'localhost' IDENTIFIED BY 'password1';user02可以远程访问 CREATE USER user02@'%' IDENTIFIED BY 'password1';4、修改user01密码 SET PASSWORD FOR 'user01'@'localhost' = PASSWORD...

MYSQL数据库中怎么建立一个表呢?
答:1、打开Navicat for MySQL,找到要创建数据库中数据表 2、接着我们在“表”上面单击鼠标右键,然后点击“新建表”3、然后,右边就会出现设计表的界面,这里可以设置表的字段名,类型,长度以及是否为null等 4、设计完数据表之后,点击“保存”按钮就OK了。5、我们在其中输入表名就点击确定就可以了,表名...

如何在命令行创建一个MySQL数据库
答:创建步骤如下:Windows操作系统下,开始——运行,打开"运行"对话框,输入cmd,点击“确定”即可进入DOS窗口,输入登录MySQL数据库命令 mysql -h 127.0.0.1 -u root -p 参数含义:mysql是登录数据库的命令,-h 后面跟服务器的IP,由于本示例MySql服务器安装在本地,因此IP地址为127.0.0.1;-u ...

php mysql怎么创建数据库图解
答:4、在主界面的右边点击“权限”来创建数据库帐号。5、在权限页面中,我们点击“添加新用户”6、在该页面中,我们填写要创建的数据库用户名,该用户的访问范围,及密码。 如上图,我们填写了用户名为:cncmsuser,该数据库用户只允许本机访问,主机一项选择本地;密码我们使用自动生成的,点下面的“...

如何在电脑中建立本地数据库!越简单越好!
答:mysql图文安装教程3 在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序...