今天在Ubuntu中安装上了MySql,但是在操作的时候,老是提示'Access denied for user 'root'@'localhost' (using password: YES):
1、打开/etc/mysql/debian.cnf文件,里面存储了相关的密码. sudo gedit /etc/mysql/debian.cnf 在[client]段有user=以及password=这两行,此即我们需要的东西 2、输入命令:mysql -udebian-sys-maint -p debian-sys-maint即debian.cnf中user=后面的内容.回车后会提示输入密码,此时把password=后面的内容复制粘贴后回车即可进行mysql控制台(一般不要照打,容易出错,复制即可) 3、进入控制台后.按以下步骤进行: use mysql; update user set password=PASSWORD('新密码') where user='root'; FLUSH PRIVILEGES; 此时可以输入quit;退出后用root账号登录,也可以继续其他操作。
关于mysql更多的基本操作命令。 一、mysql服务操作 1、net start mysql //启动mysql服务 2、net stop mysql //停止mysql服务 3、mysql -h主机地址 -u用户名 -p用户密码 //进入mysql数据库 4、quit //退出mysql操作 5、mysqladmin -u用户名 -p旧密码 password 新密码 //更改密码 6、grant select on 数据库.* to 用户名@登录主机 identified by "密码" //增加新用户
二、数据库操作 1、show databases; //列出数据库 2、use database_name //使用database_name数据库 3、create database data_name //创建名为data_name的数据库 4、drop database data_name //删除一个名为data_name的数据库
三、数据表操作 1、show tables //列出所有表 create talbe tab_name( id int(10) not null auto_increment primary key, name varchar(40), pwd varchar(40) ) charset=gb2312; 创建一个名为tab_name的新表 2、drop table tab_name 删除名为tab_name的数据表 3、describe tab_name //显示名为tab_name的表的数据结构 4、show columns from tab_name //同上 5、delete from tab_name //将表tab_name中的记录清空 6、select * from tab_name //显示表tab_name中的记录 7、mysqldump -uUSER -pPASSWORD --no-data DATABASE TABLE > table.sql //复制表结构
四、修改表结构 1、 ALTER TABLE tab_name ADD PRIMARY KEY (col_name) 说明:更改表得的定义把某个栏位设为主键。 2、ALTER TABLE tab_name DROP PRIMARY KEY (col_name) 说明:把主键的定义删除 3、 alter table tab_name add col_name varchar(20); //在tab_name表中增加一个名为col_name的字段且类型为varchar(20) 4、alter table tab_name drop col_name //在tab_name中将col_name字段删除 5、alter table tab_name modify col_name varchar(40) not null //修改字段属性,注若加上not null则要求原字段下没有数据 SQL Server200下的写法是:Alter Table table_name Alter Column col_name varchar(30) not null; 6、如何修改表名:alter table tab_name rename to new_tab_name 7、如何修改字段名:alter table tab_name change old_col new_col varchar(40); //必须为当前字段指定数据类型等属性,否则不能修改 8、create table new_tab_name like old_tab_name //用一个已存在的表来建新表,但不包含旧表的数据
五、数据的备份与恢复 导入外部数据文本: 1、执行外部的sql脚本 当前数据库上执行:mysql < input.sql 指定数据库上执行:mysql [表名] < input.sql 2、数据传入命令 load data local infile "[文件名]" into table [表名]; 备份数据库:(dos下) mysqldump --opt school>school.bbb mysqldump -u [user] -p [password] databasename > filename (备份) mysql -u [user] -p [password] databasename < filename (恢复)
以上是对MySQL4.1进行操作时的一些常用命令。有的是标准SQL,有的则只能在MySQL中使用,要进行区分。
六、卸载数据库: sudo apt-get remove mysql-server mysql-client sudo apt-get autoremove
|