mysql应用管理及进阶实战

prompt u@ceshi :m:s->   ###临时改变命令提示符

如果想永久生效放入my.conf里面的 [mysql]下面  prompt u@ceshi :m:s->

mysql登录

# mysql -h 127.0.0.1 -u mysql -P 3000   #远程连接  IP + 端口

mysql -h localhost -u root  -S /data/ops/app/mysql-5.6.23/3307/3307.sock 

MySQL修改root密码的多种方法
在 Navicat for MySQL 下面直接执行  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');   就可以

 

 

方法1: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

  mysqladmin -u root password "newpass"

  如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;

##生产环境
./mysqld_safe --defaults-file=/data/ops/app/mysql-5.6.23/etc/3308.cnf --skip-grant-tables --user=mysql&
mysql> update mysql.user set password=password('123456') where user='root';
mysql> flush privileges;
mysqladmin -h127.0.0.1  -uroot -p shutdown ###输入密码123456

mysql -h127.0.0.1 -uroot -P3003 -p #输入密码登录成功123456

 

sql---日常操作

mysql> select user,host,password from mysql.user order by user; ##查询并排序
mysql> delete from mysql.user where user=' ';  ##删除用户
mysql> create database test;        创建数据库
mysql> show create database testG #查看创建数据库,默认创建字符集latin1
mysql> create database test_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; ###创建指定的字符集数据库
mysql> show create dabases test_gbkG  ##查看创建的数据库发现字符集变成gbk
mysql> create database test_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ###创建utf8数据库
mysql> show create dabases test_utf8G ##查看创建的数据库字符集变成utf8

##提示 字符集的不一致是数据库中午乱码的罪魁祸首,有关字符集的看后面
##提示 如果变异的时候指定了字符集 以后创建数据库就不需要指定了
企业里:
1根据开发的程序确定字符集(建议用utf8)
2.编译的时候指定字符集
3.编译的时候没有指定字符集或者指定了和程序不同的字符集,如果解决?   ###指定字符集创建数据库即可。

显示数据库
show databases;
select database();
删除数据库
mysql> drop database test;
切换数据库
use test_utf8;
查看版本
select version();
查看当前用户
select user(); 
查看当前时间
select now();
创建用户
mysql> create user 'haha'@'localhost' identified by '123';
删除用户
mysql> drop user 'haha'@'localhost';
创建并授权
grant all privileges on test.* to oldboy@'localhost' identified by 'oldboy123';
查看用户权限
mysql> show grants for oldboy@localhost;
只授权
grant all ON test.* to 'haha'@'localhost';
远程授权
mysql> create user test@'10.0.0.%' identified by 'test';

回收权限
mysql> show grants for oldboy@localhost;
+---------------------------------------------------------------------------------------------------------------+
| Grants for oldboy@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'oldboy'@'localhost' IDENTIFIED BY PASSWORD '*FE28814B4A8B3309DAC6ED7D3237ADED6DA1E515' |
| GRANT ALL PRIVILEGES ON `test`.* TO 'oldboy'@'localhost'                                                      |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> revoke insert on test.* from 'oldboy'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for oldboy@localhost;
企业环境尽量最小化权限,只给增删改查,把创建删除收回。



创建表
mysql> create table tutorials_tbl(    tutorial_id INT NOT NULL AUTO_INCREMENT,    tutorial_title VARCHAR(100) NOT NULL,    tutorial_author VARCHAR(40) NOT NULL,    submission_date DATE,    PRIMARY KEY ( tutorial_id ) );
查看表结构
mysql> desc tutorials_tbl;
mysql> show create table tutorials_tbl;
原文地址:https://www.cnblogs.com/zhaobin-diray/p/9355473.html