Better

Ethan的博客,欢迎访问交流

MySQL密码修改与基础命令

出了一个乌龙,修改密码却忘记自己改成了啥密码,怎么办呢?

修改默认密码

  1. 首先停止正在运行的MySQL进程
    # Linux下,运行 
    killall -TERM mysqld 
    # Windows下,如果写成服务的 可以运行
    net stop mysql # 如未加载为服务,可直接在进程管理器中进行关闭。
    
  2. 以安全模式启动MySQL
    # Linux
    mysqld_safe --skip-grant-tables & 
    # Windows
    X:/MySQL/bin/mysqld-nt.exe --skip-grant-tables
    
  3. 完成以后就可以不用密码进入MySQL了
    # Linux
    mysql -u root -p  
    # Windows
    X:/MySQL/bin/mysql -u root -p
    
  4. 更改密码
    use mysql  
    update user set password=password("新密码") where user="root";  password函数是必须的,因为密码是加密的。
    flush privileges;  
    quit;
    

基本命令

  • show databases:显示存在哪些数据库
  • mysql –uuser –ppwd:登录
  • create database test:创建数据库
  • select database():查看当前使用的数据库
  • show tables:(注意:最后有个s) 当前数据库包含的表信息
  • drop database test:删除数据库
  • Groupadd mysql和useradd -r -g mysql mysql:添加系统mysql组和mysql用户。 Home目录下增加mysql
  • chown -R mysql:mysql ./:修改当前目录拥有者为mysql用户;
  • desc tableName; 看到表结构
  • alter table tablename add column columnname int default 0 中间增加字段
  • show create table tableName 显示出建表的完整语法

远程登录

默认是不能通过客户端远程连接数据库的,需要授权才能使用。

  1. 例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    FLUSH   PRIVILEGES;
    
  2. 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    FLUSH   PRIVILEGES;
    
  3. 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
    GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    FLUSH   PRIVILEGES;
    


留言