Mysql用户密码修改
1.直接在数据库中修改记录
mysql> use mysql
mysql> update user set password = password(”new_password”) where user = “user_name”;
mysql> flush privileges;
其实这种方法就是更新一条数据库记录,与普通update语句不同的是,密码加密存储,需用password()函数来生成,另一个不同点是需要刷新权限表。
2.在数据库中运行set password
mysql> set password for user_name = password(”new_password”);
mysql> flush privileges;
同第一种方法,也要刷新权限表
3.直接在shell环境运行mysqladmin
> mysqladmin -u user_name -p password “new_password”
> mysqladmin flush-privileges
这个方法我试了几次,每次都能将密码记录修改掉,但是每次修改后都无法登录,即使重启数据库也无济于事。所以建议不要采用本方法修改用户密码,尤其是root密码。
4.
grant all privileges on db.table to user_name@localhost identified by “your_pwd”;
用户名密码的生效不必用flush privileges刷新
注:
db.table: db表示授权哪个库,table是相应库里的表。可以用*.*表示所有库所有表。注意,如果想表示某个库的所有表,必须用db_name.*,后面的”.*”不可省略,否则权限将无法赋予。
user_name@localhost: user_name表示用户名,localhost表示该用户只能在本地访问该库,可以用%表示从任何地方访问该库,也可以用111.11.22.33来表示地址
your_pwd: 给用户设置的密码
相关文档:
Mysql在默认情况下建立表的字符编码是latin1,所以在插入中文时会出错。
eg:
1、查看表建立的sql源码:
1: sql命令:show create table users
2:
3: 结果:
4: CREATE TABLE `users` (
5: `userID` int(10) unsigned NOT NULL AUTO_INCREMENT,
6: `userName` varchar(4 ......
mysql> use information_schema
Database changed
mysql> select concat(round(sum(index_LENGTH)/(1024*1024),2),'MB') as 'Data Size' from tables where table_schema='bbs';
+-----------+
| Data Size |
+-----------+
| 0.00MB |
+-----------+
1 row in set (0.01 sec)
解释:
......
mysql> desc aa;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | &n ......
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test &n ......
格式文件 .frm 描述表的结构(列、列类型、索引,等等)
数据文件 .ISD(ISAM) 或 .MYD (MyISAM) 包含表的数据─即它的行
索引文件 ISD(ISAM) 或 .MYI (MyISAM) 包含数据文件中任何索引的索引树。无论该表有无索引,索引文件都存在
......