prompt \u@ceshi \r:\m:s-> ###临时改变命令提示符
如果想永久生效放入my.conf里面的 [mysql]下面 prompt \u@ceshi \r:\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 test\G #查看创建数据库,默认创建字符集latin1
mysql> create database test_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; ###创建指定的字符集数据库
mysql> show create dabases test_gbk\G ##查看创建的数据库发现字符集变成gbk
mysql> create database test_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ###创建utf8数据库
mysql> show create dabases test_utf8\G ##查看创建的数据库字符集变成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;