Mariadb学习笔记第3章基础知识与mysql客户端_修改root密码

给root设置初始密码:

[root@localhost ~]# mysqladmin -u root -p flush-privileges password "admin123/"

配置rooot用户允许远程访问数据库 

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

mysql如何修改root用户的密码

方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');

方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123

方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;

方法4:在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

Mysql 创建用户:

[root@localhost ~]# mysql -u root -p -e "GRANT USAGE ON *.* TO 'jingpan'@'localhost' IDENTIFIED BY 'jingpan';" 

上例会建立名为jingpan的用户,并允许它从localhost 登录MySQL。其中*.* 表示所有

数据库和所有表。同时这里将其密码设置为jingpan

他现在还没有任何权限:不能查看数据库,更不能写入数据。

 

[root@localhost ~]# mysql -u root -p -e "GRANT SELECT ON *.* TO 'jingpan'@'localhost';" 

 

使jingpan只能的查看数据库存权限

[root@localhost ~]# mysql -u root -p -e "GRANT SELECT ON *.* TO 'jingpan'@'localhost';" 

 

查询某个用户所拥有的权限

[root@localhost ~]# mysql -u root -p -e "SHOW GRANTS FOR 'jingpan'@'localhost' \G"

 

授与用户所有权限

[root@localhost ~]# mysql -u root -p -e "GRANT ALL ON *.* TO 'jingpan'@'localhost';"

 

连接到服务器

[root@localhost ~]# mysql -u jingpan -p

 

 

在test数据库中创建book表,并且有三列

MariaDB [(none)]> CREATE TABLE test.books (book_id INT,title TEXT,status INT);

 

 

列出test数据库所有内容

MariaDB [(none)]> SHOW TABLES FROM test;

 

指定默认数据库

USE test;

 

 

指定完默认数据后,可以省略数据库存名

MariaDB [test]> SHOW TABLES;

 

查询表结构

MariaDB [test]> DESCRIBE books;

 

向book表是插入三条数据

MariaDB [test]> INSERT INTO book VALUES (100, 'Heart of Darkness', 0);

MariaDB [test]> INSERT INTO book VALUES (101, 'The Catcher of the Rye', 1);     

MariaDB [test]> INSERT INTO book VALUES (102, 'My Antonia', 0);

 

查询book表中的内容

MariaDB [test]> SELECT * FROM books

 

加入WHERE子句

MariaDB [test]> SELECT * FROM books WHERE sattus = 1; 

 

SLECT 语句以\G结尾。有时候这样更易读,

通常能避免因域的内容太长,令表格变得太宽而换行。

MariaDB [test]> SELECT * FROM book WHERE status=0 \G

*************************** 1. row ***************************

book_id: 100

  title: Heart of Darkness

 sattus: 0

*************************** 2. row ***************************

book_id: 102

  title: My Antonia

 sattus: 0

2 rows in set (0.00 sec)

 

 

更新books,将status 的值设为1,作用于book_id 等于102 的所有行

MariaDB [test]> UPDATE books SET sattus = 1 WHERE book_id =102;

 

同时更改两列内容

MariaDB [test]> UPDATE books SET title = 'THe Catcher in the Rye', sattus = 1 WHERE book_id = 101;

 

 

创建status_names;
MariaDB [test]> CREATE TABLE status_names (status_id INT,status_name CHAR(8));

 

在status_names中插入两列数据

MariaDB [test]> INSERT INTO status_names VALUEA(0,'Inactive'),(1,'Active');

 

 

将两个表关联起来

MariaDB [test]> SELECT book_id, title ,status_name FROM books  JOIN status_names WHERE status = status_id;

 

Mariadb学习笔记
 

 

 在建立books 表时,我们其实可以将status 列声明为TEXT 或CHAR,并为每条记录打上
Active 或Inactive。但如果你要为books 输入成千上万行数据,显然打0 或1 更简单,而且
不容易打错字(例如Actve)。摆弄数据库是很无聊的,但如果你的表结构建得好,SQL 语
句写得好,那么情况将有所改善,而且也能节省你的时间和资源。

 

更改表名,把book表改为books表
MariaDB [test]> ALTER TABLE book RENAME TO books;

删除books表;

MariaDB [test]> DROP TABLE books;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值