日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

13.1-13.3 设置更改root密码,连接MySQL,MySQL常用命令

發布時間:2024/4/13 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 13.1-13.3 设置更改root密码,连接MySQL,MySQL常用命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

13.1 設置更改root密碼

大綱

準備工作:

1 啟動mysql服務

[root@AliKvn ~]# /etc/init.d/mysqld start

Starting MySQL. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

2 設置MySQL環境變量

因為#mysql命令需要使用絕對路徑/ /usr/local/mysql/bin/mysql,這樣太麻煩了,

所以需要更改環境變量PATH,增加mysql絕對路徑。

# ls /usr/local/mysql/bin/mysql

/usr/local/mysql/bin/mysql

2.1 添加環境變量

[root@AliKvn ~]# export PATH=$PATH:/usr/local/mysql/bin/

測試使用mysql命令

2.2 使命令用久生效 把命令放在profile的最后面

[root@AliKvn ~]# vim /etc/profile

unset -f pathmunge

export PATH=$PATH:/usr/local/mysql/bin/

~ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

~ ? ? ? ??

source /etc/profile 使其用久生效。

[root@AliKvn ~]# source /etc/profile


3 進入mysql

-u指定用戶,-p指定密碼(如果無密碼,直接回車進入)

[root@AliKvn ~]# mysql -uroot -p

mysql> quit

Bye


4 因為MySQL第一次進去是不需要密碼的,比較危險,所以需要設置密碼

[root@AliKvn ~]# mysqladmin -uroot password 'aminglinux.1'

Warning: Using a password on the command line interface can be insecure.

測試指定密碼進入

[root@AliKvn ~]# mysql -uroot -p

4.1 更改密碼

[root@AliKvn ~]# mysqladmin -uroot -p'aminglinux.1' password 'aminglinux.2'

Warning: Using a password on the command line interface can be insecure.


5 密碼重置(在沒有root密碼的時候修改root密碼)

在[mysqld]增加skip-grant,此配置的意義就是忽略授權,加入配置后,不需要登錄密碼即可進入MySQL

#vi /etc/my.cnf?

[root@AliKvn ~]# vim /etc/my.cnf


[mysqld]

skip-grant

datadir=/data/mysql

socket=/tmp/mysql.sock


5.1 配置完成后,重啟服務使其生效。

[root@AliKvn ~]# /etc/init.d/mysqld restart?

Shutting down MySQL.. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

Starting MySQL. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

5.2 測試

[root@AliKvn ~]# mysql -uroot

直接進入,無需任何認證。

mysql> ?

5.3 使用mysql庫

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed


5.4 進入密碼表

mysql> select password from user ;

+-------------------------------------------+

| password ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

+-------------------------------------------+

| *C2586DB1E5698A5F1DC57808497DA087CC1EF767 |

| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

+-------------------------------------------+

6 rows in set (0.01 sec)


5.5 在密碼表輸入命令,更改密碼

mysql> update user set password=password('aminglinux') where user='root';

Query OK, 4 rows affected (0.00 sec)

Rows matched: 4 ?Changed: 4 ?Warnings: 0

密碼更新成功,quit退出mysql

mysql> quit

Bye


6 修改完成后,需要把跳過驗證參數(skip-grant)刪除,不然會發生很大安全隱患

[root@AliKvn ~]# vim /etc/my.cnf


[mysqld]

datadir=/data/mysql

socket=/tmp/mysql.sock

修改后,重啟服務

[root@AliKvn ~]# /etc/init.d/mysqld restart?

Shutting down MySQL.. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

Starting MySQL. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

6.1 用新密碼測試登錄MySQL

[root@AliKvn ~]# mysql -uroot -paminglinux

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. ?Commands end with ; or \g.


13.2 連接MySQL


1 本地 ip:port連接

[root@AliKvn ~]# mysql -uroot -paminglinux -h127.0.0.1 -P3306

2 還可以利用socket去連接。MySQL的socket在/tmp/mysql.sock

檢查mysql.sock的監聽狀態

[root@AliKvn ~]# !ps

ps aux |grep mysql.sock

socket連接

[root@AliKvn ~]# mysql -uroot -paminglinux -S/tmp/mysql.sock

這種情況只適合用在本機上(這種方法和第一種是一樣的,也是默認的連接方法)


3 連接MySQL順便操作一些命令

[root@AliKvn ~]# mysql -uroot -paminglinux -e "show databases"

Warning: Using a password on the command line interface can be insecure.

+--------------------+

| Database? ? ? ? ? ?|

+--------------------+

| information_schema |

| mysql? ? ? ? ? ? ? |

| performance_schema |

| test? ? ? ? ? ? ? ?|

+--------------------+

進入MySQL,然后執行#show databases命令。

這種情況適用在shell腳本,例如監聽MySQL的連接數。



13.3 MySQL常用命令


慎記,MySQL里的命令在Linux上是執行不到的。但是通過mysql -e "命令" 可以指定執行。

在MySQL里面執行命令,以?;?結束。


連接MySQL

[root@AliKvn ~]# mysql -uroot -paminglinux


查詢庫 show databases;

切換庫 use mysql;

查看庫里的表 show tables;

查看整張表的內容 select * from tb_name;

查看表里的字段 desc tb_name;

字段,表,庫三者的關系,庫是由表組成,表是有字段組成。

操作:

查看user字段,

1 先切換庫

use mysql;

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed


2 再查看user字段,

mysql> desc user;

查看建表語句 show create table tb_name\G;

查看當前用戶 select user();

mysql> select user();

+----------------+

| user()? ? ? ? ?|

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)

當前用戶是localhost,其實127.0.0.1連接進來也是localhost,因為127.0.0.1就是localhost.

接下來試試用本機ip連接看看

[root@AliKvn ~]# mysql -h172.18.171.157 -paminglinux

mysql> select user();

+-------------+

| user()? ? ? |

+-------------+

| root@AliKvn |

+-------------+

1 row in set (0.00 sec)

AliKvn是本機的主機名,而172.18.171.157被傳解析了,所以AliKvn是被172.18.171.157解析出來的。


MySQL的命令歷史記錄存在/root/.mysql_history?

查看方法 less .mysql_history?

?

查看當前使用的數據庫 select databsase();

mysql> select database();

+------------+

| database() |

+------------+

| NULL? ? ? ?|

+------------+

1 row in set (0.00 sec)

NULL為空,例如切換到mysql庫下,這里不會顯示空。

mysql> use mysql

Database changed

mysql>? select database();

+------------+

| database() |

+------------+

| mysql? ? ? |

+------------+

1 row in set (0.00 sec)


創建庫 create database db1;

mysql> create database db1;

Query OK, 1 row affected (0.00 sec)


mysql> show databases;

+--------------------+

| Database? ? ? ? ? ?|

+--------------------+

| information_schema |

| db1? ? ? ? ? ? ? ? |

| mysql? ? ? ? ? ? ? |

| performance_schema |

| test? ? ? ? ? ? ? ?|

+--------------------+

5 rows in set (0.00 sec)


創建表 create table t1(`id` int(4), `name` char(40));

1 先切換db1庫

mysql> use db1;

Database changed

2 再創建表t1

mysql> create table t1(`id` int(4), `name` char(40));

Query OK, 0 rows affected (0.02 sec)

3 查看創建的表

mysql> show create table t1\G

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

? ? ? ?Table: t1

Create Table: CREATE TABLE `t1` (

? `id` int(4) DEFAULT NULL,

? `name` char(40) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 row in set (0.00 sec)

定義utf8格式?

操作:

1 刪除表

drop table t1;

mysql> drop table t1;

Query OK, 0 rows affected (0.01 sec)

2 定義utf8格式

mysql> create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.02 sec)

查看剛剛創建t1的表(utf8)

mysql> show create table t1\G;

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

? ? ? ?Table: t1

Create Table: CREATE TABLE `t1` (

? `id` int(4) DEFAULT NULL,

? `name` char(40) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)


ERROR:?

No query specified


查看當前數據庫版本 select version();

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.6.35? ? |

+-----------+

1 row in set (0.00 sec)


?查看數據庫狀態 show status;

將常用的數據列出來


查看各參數 show variables;

mysql> show variables;

查看指定參數,%表示通配符

mysql> show variables like 'max_connect%';

+--------------------+-------+

| Variable_name? ? ? | Value |

+--------------------+-------+

| max_connect_errors | 100? ?|

| max_connections? ? | 151? ?|

+--------------------+-------+

2 rows in set (0.00 sec)


修改參數 set global max_connect_errors=1000;(如果想永久生效,需要修改/etc/my.conf,添加相關配置參數)

mysql> set global max_connect_errors=1000;

Query OK, 0 rows affected (0.00 sec)


mysql> show variables like 'max_connect%';

+--------------------+-------+

| Variable_name? ? ? | Value |

+--------------------+-------+

| max_connect_errors | 1000? |

| max_connections? ? | 151? ?|

+--------------------+-------+

2 rows in set (0.00 sec)

?max_connect_errors 1000? 數值變成了1000


?查看隊列 兩者體驗在info上,full的比較完整。(查看隊列命令用得最多,需要熟練使用)

mysql> show processlist;

+----+------+--------------+------+---------+------+-------+------------------+

| Id | User | Host? ? ? ? ?| db? ?| Command | Time | State | Info? ? ? ? ? ? ?|

+----+------+--------------+------+---------+------+-------+------------------+

| 13 | root | AliKvn:56928 | NULL | Query? ?|? ? 0 | init? | show processlist |

+----+------+--------------+------+---------+------+-------+------------------+

1 row in set (0.00 sec)


這個比較完整查看隊列。

show full processlist;

mysql> show full processlist;

+----+------+--------------+------+---------+------+-------+-----------------------+

| Id | User | Host? ? ? ? ?| db? ?| Command | Time | State | Info? ? ? ? ? ? ? ? ? |

+----+------+--------------+------+---------+------+-------+-----------------------+

| 13 | root | AliKvn:56928 | NULL | Query? ?|? ? 0 | init? | show full processlist |

+----+------+--------------+------+---------+------+-------+-----------------------+

1 row in set (0.00 sec)


轉載于:https://blog.51cto.com/13578154/2113672

總結

以上是生活随笔為你收集整理的13.1-13.3 设置更改root密码,连接MySQL,MySQL常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。