1、增加了密码后的登录格式如下:
mysql -u root -p
2、修改登录密码
1) mysqladmin -u用户名 -p旧密码 password 新密码
例:mysqladmin -u root password 21century
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
或
mysql -u root -p
mysql>set password for root=password("456");
mysql -u root -p
mysql -u root -p
mysql>set password for root=password("456");
如果是用root进入的,可以简写成:set password=password(“456“);
2)直接修改user表的root用户口令:
mysql> user mysql;
mysql> update user set pasword=password('21century') where user='root';
mysql> flush privileges; /* 强制刷新内存授权表,否则用的还是缓冲中的口令 */
注:password('21century')表示用MD5对密码21century进行加密,这时在表中看到的密码都是一长串字母,增加了安全性。
3、测试密码是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码21century)
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 177 to server version: 3.23.48
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令
4、启动和停止
启动:Mysql从3.23.15版本开始作了改动,默认安装后服务要用mysql用户来启动,不允许root用户启动。
如果非要用root用户来启动,必须加上--user=root参数
(./safe_mysqld --user=root &)
4种启动方式任选一种:
1) service mysql start
2) /etc/rc.d/init.d/mysql start
3) mysqld_safe
4) safe_mysqld
停止:3种放松任选一种:
1) service mysql stop
2) /etc/rc.d/init.d/mysql stop
3) mysqladmin -u root -p shutdown
5、导出和导入meeting数据库:
导出:
1) 例1. 将数据库meeting中的表全部备份到 meeting_200409.sql 文本文件
mysqldump -uroot -p --opt meeting > meeting_200409.sql
2) 例2. 仅备份数据库school中的一部分表teacher 和 student
mysqldump -uroot -p --opt school teacher student > school_teacher_student_200409.sql
3) 例3. 备份多个数据库
mysqldump --databases school test > school_test_200409.sql
数据恢复:
1) 例1. 数据库school不慎被破坏,从school_200409.sql 备份文件中恢复数据
mysql>create database school;
mysql>use school;
mysql>source school_200409.sql ; # 恢复
2) 例2.恢复表teacher 和 student
mysql>use school;
mysql>source school_teacher_student_200409.sql ; # 恢复
3)例3. 恢复多个数据库
mysql>source school_test_200409.sql; # 恢复 例1. 数据库school不慎被破坏,从school_2004_9.sql 备份文件中恢复数据
mysql
mysql>create database school;
mysql>use school;
mysql>source school_2004_9.sql ; # 恢复
例2.恢复表teacher 和 student
mysql
mysql>use school;
mysql>source school_teacher_student_2004_9.sql ; # 恢复
例3. 恢复多个数据库
mysql
mysql>source school_test_2004_9.sql; # 恢复
例1. 数据库school不慎被破坏,从school_2004_9.sql 备份文件中恢复数据
mysql
mysql>create database school;
mysql>use school;
mysql>source school_2004_9.sql ; # 恢复
例2.恢复表teacher 和 student
mysql
mysql>use school;
mysql>source school_teacher_student_2004_9.sql ; # 恢复
例3. 恢复多个数据库
mysql
mysql>source school_test_2004_9.sql; # 恢复
导入:
1) 导入dbname数据库
mysqldump -uroot -p21century dbname < xxx.sql
2) 导入数据库还可用类似于oracle中@my_script.sql的方式一次执行大量sql语句,这在使用mysqldump不起作用时非常有用。
例:#./mysql -uroot -p < /home/xuys/db_meeting_2003.sql
(注:create database、use databasename、create table和insert into语句都可写在上面的脚步文件中)
3) 使用数据传入命令。
mysql> load data infile '/tmp/teacher.txt' into table teacher;
(注:teacher.txt中的数据必须使用Tab键分隔,table是数据库名,teacher是表名)
4) 使用mysqlimport
mysqlimport school /tmp/teacher.txt
(注:上面的命令表示将teacher.txt中的数据导入到school这个数据库中的teacher表中去。
school表示数据库名,文本文件的名称就是该文件要插入的基表的名称,本本文件中样使用Tab键分隔。)
6、给表改名
RENAME TABLE ztemp TO ztemp4;
7、修改字段属性
ALTER TABLE bbabase CHANGE news_id id VARCHAR(5) NOT NULL;
8、在表中的content后增加一字段
ALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER content;
alter table t2 drop column col2;
9、增加用户
GRANT select,update,insert ON 数据库名.表名 TO 用户名@登录主机 identified by "密码"
例1:grant select,update,insert,delete on *.* to test@dev identified by "abc";
例2:grant select,update,insert,delete on *.* to test@% identified by "abc";
/* %表示任何主机,localhost表示本地主机 */
例3:创建一个本地的完全的超级用户admin,口令为'123'
grant all privileges on *.* to admin@localhost identified by '123'
10、只需本机使用Mysql服务,在启动时还可以加上--skip-networking参数使Mysql不监听任何TCP/IP连接
(./safe_mysqld --skip-networking &),增加安全性。(非常推荐)
11、忘记root密码怎么办?
在启动Mysql服务器时加上参数--skip-grant-tables来跳过授权表的验证
(./safe_mysqld --skip-grant-tables &),这样我们就可以直接登陆Mysql服务器,
然后再修改root用户的口令,重启Mysql就可以用新口令登陆了。
12、mysql的数据类型中date表示日前字段,它是不带时分秒的,如果要让日前带上时分秒,需要使用datetime类型。