Linux运维必会的MySql题之(一)

如何启动MySql服务

/etc/init.d/mysqld start
 service mysqld start
Centos 7.x 系统
 systemctl start mysqld

检测端口是否运行

[root@localhost ~]# lsof -i :3306
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  17026 mysql   18u  IPv6  49416      0t0  TCP *:mysql (LISTEN)

[root@localhost ~]# netstat -lntup |grep :3306
tcp6 0 0 :::3306 :::* LISTEN 17026/mysqld

设置或修改MySql密码

mysql5.6之前修改密码(字段password)
mysql> use mysql;  
mysql> update user set password=password('123') where user='root' and host='localhost';  
mysql> flush privileges;  

mysql 5.7版本修改密码(字段是authentication_string)
mysql>alter user 'root'@'localhost' identified by '123';
mysql> flush privileges;  
或者
mysql> use mysql;
mysql> update mysql.user set authentication_string = password('123456') where user = 'root' and host = 'localhost';
Query OK, 1 row affected, 1 warning (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)
使用mysqladmin工具 格式:mysqladmin -u用户名 -p旧密码 password 新密

[root@localhost ~]# mysqladmin -uroot -p123 password 'root123'
Warning: Using a password on the command line interface can be insecure.
[root@localhost ~]# mysql -uroot -proot123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.6.47 MySQL Community Server (GPL)

 
 

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

 
 

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

 
 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 
 

mysql>

登陆数据库

[root@localhost ~]# mysql -uroot -proot123

查看当前数据库的字符集

mysql> show create database mysql;
+----------+------------------------------------------------------------------+
| Database | Create Database                                                  |
+----------+------------------------------------------------------------------+
| mysql    | CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec)

查看当前数据库版本

[root@localhost ~]# mysql -uroot -p123 -e "use mysql;select version();"
mysql: [Warning] Using a password on the command line interface can be insecure.
+-----------+
| version() |
+-----------+
| 5.7.29    |
+-----------+
[root@localhost ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using  EditLine wrapper

查看当前登录用户

[root@localhost ~]# mysql -uroot -p123 -e "select user();"
mysql: [Warning] Using a password on the command line interface can be insecure.
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+

select user();  #进入数据库查询

创建GBK字符集数据库mingongge并查看完整创建语句

mysql> create database mingongge default charset gbk collate gbk_chinese_ci;
Query OK, 1 row affected (0.00 sec)

创建用户mingongge使用之可以管理数据库mingongge

mysql> grant all on mingongge.* to 'mingongge'@'localhost' identified by 'mingongge'
    -> ;
Query OK, 0 rows affected, 1 warning (0.20 sec)

查看创建用户mingongge的权限

mysql> show grants for mingongge@localhost;
+------------------------------------------------------------------+
| Grants for mingongge@localhost                                   |
+------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'mingongge'@'localhost'                    |
| GRANT ALL PRIVILEGES ON `mingongge`.* TO 'mingongge'@'localhost' |
+------------------------------------------------------------------+
2 rows in set (0.00 sec)

查看当前数据库有哪此用户

mysql> select user from mysql.user;
+---------------+
| user          |
+---------------+
| mingongge     |
| mysql.session |
| mysql.sys     |
| root          |
+---------------+
4 rows in set (0.01 sec)

进入mingongge数据库

mysql> use mingongge
Database changed

创建一个innodb GBK表test,字段id int(4)和name varchar(16)

mysql> create table test (
    -> d int(4),
    ->   name varchar(16)
    ->  )ENGINE=innodb DEFAULT CHARSET=gbk;
Query OK, 0 rows affected (0.30 sec)

查看建表结构及表结构的SQL语句

mysql> desc test;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| d     | int(4)      | YES  |     | NULL    |       |
| name  | varchar(16) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.05 sec)

mysql> show create table test\G
*************************** 1. row ***************************
       Table: test
Create Table: CREATE TABLE `test` (
  `d` int(4) DEFAULT NULL,
  `name` varchar(16) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk
1 row in set (0.00 sec)

插入一条数据“1,mingongge”

mysql> insert into test values('1','mingongge');
Query OK, 1 row affected (0.01 sec)

再批量插入2行数据“2,ljj”,“3,mingonggeedu”

mysql> insert into test values('2','ljj'),('3','mingonggeedu');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

查询名字为mingongge的记录

mysql> select * from test where name = 'mingongge';
+------+-----------+
| d    | name      |
+------+-----------+
|    1 | mingongge |
+------+-----------+
1 row in set (0.05 sec)

把数据id等于1的名字mingongge更改为mgg

mysql> update test set name = 'mgg' where d = '1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

在字段name前插入age字段,类型tinyint(2)

mysql> alter table test add age tinyint(2) after d;
Query OK, 0 rows affected (0.17 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc test
    -> ;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| d     | int(4)      | YES  |     | NULL    |       |
| age   | tinyint(2)  | YES  |     | NULL    |       |
| name  | varchar(16) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

不退出数据库,完成备份mingongge数据库

mysql> system mysqldump -uroot -p123 -B mingongge >/root/mingongge_bak.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@localhost ~]# ls mingongge_bak.sql -l
-rw-r--r-- 1 root root 2044 1月  15 10:57 mingongge_bak.sql

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/liujunjun/p/12195609.html