mysql的管理 (实战,可跟做)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的管理 (实战,可跟做)相关的知识,希望对你有一定的参考价值。

手工编译安装mysql

1.用samba服务从宿主机上获取安装包

[root@localhost ~]# mount.cifs //192.168.10.28/share /mnt
Password for root@//192.168.10.28/share:  
[root@localhost ~]# cd /mnt/LNMP/
[root@localhost LNMP]# ls
Discuz_X3.4_SC_UTF8.zip  mysql-boost-5.7.20.tar.gz  nginx-1.12.2.tar.gz  php-7.1.10.tar.bz2  php-7.1.20.tar.gz
[root@localhost LNMP]# tar zxvf mysql-boost-5.7.20.tar.gz -C /opt

2.安装mysql所需环境包组件

[root@localhost LNMP]# yum install -y  
gcc gcc-c++ ncurses ncurses-devel bison cmake
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                         | 3.6 kB  00:00:00     
extras                                                                                                       | 2.9 kB  00:00:00     
updates                

3.创建数据库管理员


useradd -s /sbin/nologin mysql

4.解压数据库安装包

cd /mnt/LNMP
tar zxvf mysql-boost-5.7.20.tar.gz -C /opt

5.进行configure配置

cd /opt/mysql-5.7.20/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DSYSTEMD_PID_DIR=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DWITH_SYSTEMD=1

6.编译及编译安装


make && make install

7.数据库目录权限调整


chown -R mysql:mysql /usr/local/mysql/

8.修改数据库配置文件


vim /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306             
character_set_server=utf8
pid-file = /usr/local/mysql/mysql.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

#支持的模块
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

9.更改配置文件的属主属组


[root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf

10.设置环境变量

[root@localhost mysql-5.7.20]# echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH‘ >> /etc/profile
[root@localhost mysql-5.7.20]# echo ‘export PATH‘ >> /etc/profile
[root@localhost mysql-5.7.20]# source /etc/profile

11.初始化数据库

[root@localhost mysql-5.7.20]# cd /usr/local/mysql/
[root@localhost mysql]# bin/mysqld > --initialize-insecure > --user=mysql > --basedir=/usr/local/mysql > --datadir=/usr/local/mysql/data

12.让系统识别mysql的命令


cp usr/lib/systemd/system/mysqld.service /lib/systemd/system/

13.开启服务


systemctl start mysqld.service

14.设置mysql密码


[root@localhost mysql]# mysqladmin -u root -p password "abc123"
Enter password: 
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
[root@localhost mysql]# mysql -uroot -p
Enter password: 
mysql> grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘abc123‘;
Query OK, 0 rows affected, 1 warning (0.00 sec)

15.创建数据库

mysql> create database IT;
Query OK, 1 row affected (0.01 sec)

16.查看数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| IT                 |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

17.使用数据库

mysql> use IT;
Database changed

18.创建表

mysql> create table it (
    -> 岗位类别 varchar(10) not null,
    -> 姓名 varchar(5) not null,
    -> 年龄 int(3) default 30,
    -> 员工ID int(3) not null,
    -> 学历 varchar(5) ,
    -> 年限 int(2) ,
    -> 薪资 int(5) not null,
    -> primary key (员工ID));
Query OK, 0 rows affected (0.02 sec)

19.查看创建的表

mysql> show tables;                                                              
| Tables_in_IT |
+--------------+
| it           |
+--------------+
1 row in set (0.00 sec)

mysql> select * from it;
Empty set (0.02 sec)

20.查看表的属性

mysql> describe it;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| 岗位类别     | varchar(10) | NO   |     | NULL    |       |
| 姓名         | varchar(5)  | NO   |     | NULL    |       |
| 年龄         | int(3)      | YES  |     | NULL    |       |
| 员工ID       | int(3)      | NO   | PRI | NULL    |       |
| 学历         | varchar(5)  | YES  |     | NULL    |       |
| 年限         | int(2)      | YES  |     | NULL    |       |
| 薪资         | int(5)      | NO   |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
7 rows in set (0.02 sec)

21.向表中添加数据

mysql> insert into it value (‘网络工程师‘,‘孙空无‘,27,011,‘本科‘,3,4800);
Query OK, 1 row affected (0.00 sec)

mysql> select * from it;
+-----------------+-----------+--------+----------+--------+--------+--------+
| 岗位类别        | 姓名      | 年龄   | 员工ID   | 学历   | 年限   | 薪资   |
+-----------------+-----------+--------+----------+--------+--------+--------+
| 网络工程师      | 孙空无    |     27 |       11 | 本科   |      3 |   4800 |
+-----------------+-----------+--------+----------+--------+--------+--------+
1 row in set (0.00 sec)

mysql> insert into it value (‘windows工程师‘,‘周万石朋鸟‘,18,012,‘幼本‘,0,666);
Query OK, 1 row affected (0.01 sec)

mysql> select * from it;
+------------------+-----------------+--------+----------+--------+--------+--------+
| 岗位类别         | 姓名            | 年龄   | 员工ID   | 学历   | 年限   | 薪资   |
+------------------+-----------------+--------+----------+--------+--------+--------+
| 网络工程师       | 孙空无          |     27 |       11 | 本科   |      3 |   4800 |
| windows工程师    | 周万石朋鸟      |     18 |       12 | 幼本   |      0 |    666 |
+------------------+-----------------+--------+----------+--------+--------+--------+
2 rows in set (0.00 sec)

mysql> insert into it value (‘水晶头工程师‘,‘媛媛‘,35,013,‘小学‘,-1,-10000);
Query OK, 1 row affected (0.01 sec)

mysql> insert into it value (‘公司厕所管理员‘,‘陈文强‘,55,014,‘初中‘,5,1500);
Query OK, 1 row affected (0.00 sec)

mysql> insert into it value (‘公司女性管理工程师‘,‘涛涛‘,20,015,‘高中‘,10,11500); 
Query OK, 1 row affected (0.01 sec)

mysql> insert into it value (‘公司歌唱家兼播音编程‘,‘徐勇‘,20,016,‘博士后‘,20,111500);
Query OK, 1 row affected (0.01 sec)

mysql> insert into it value (‘台球编程员‘,‘泽鹏‘,18,017,‘大专‘,2,8000);
Query OK, 1 row affected (0.00 sec)

mysql> select * from it;
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
| 岗位类别                       | 姓名            | 年龄   | 员工ID   | 学历      | 年限   | 薪资   |
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
| 网络工程师                     | 孙空无          |     27 |       11 | 本科      |      3 |   4800 |
| windows工程师                  | 周万石朋鸟      |     18 |       12 | 幼本      |      0 |    666 |
| 水晶头工程师                   | 媛媛            |     35 |       13 | 小学      |     -1 | -10000 |
| 公司厕所管理员                 | 陈文强          |     55 |       14 | 初中      |      5 |   1500 |
| 公司女性管理工程师             | 涛涛            |     20 |       15 | 高中      |     10 |  11500 |
| 公司歌唱家兼播音编程           | 徐勇            |     20 |       16 | 博士后    |     20 | 111500 |
| 台球编程员                     | 泽鹏            |     18 |       17 | 大专      |      2 |   8000 |
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
7 rows in set (0.00 sec)

mysql> mysql> select * from it;
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
| 岗位类别                       | 姓名            | 年龄   | 员工ID   | 学历      | 年限   | 薪资   |
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
| 网络工程师                     | 孙空无          |     27 |       11 | 本科      |      3 |   4800 |
| windows工程师                  | 周万石朋鸟      |     18 |       12 | 幼本      |      0 |    666 |
| 水晶头工程师                   | 媛媛            |     35 |       13 | 小学      |     -1 | -10000 |
| 公司厕所管理员                 | 陈文强          |     55 |       14 | 初中      |      5 |   1500 |
| 公司女性管理工程师             | 涛涛            |     20 |       15 | 高中      |     10 |  11500 |
| 公司歌唱家兼播音编程           | 徐勇            |     20 |       16 | 博士后    |     20 | 111500 |
| 台球编程员                     | 泽鹏            |     18 |       17 | 大专      |      2 |   8000 |
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
7 rows in set (0.00 sec)

mysql> update it set 岗位类别=‘linux工程师‘ where 员工ID=12;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from it;
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
| 岗位类别                       | 姓名            | 年龄   | 员工ID   | 学历      | 年限   | 薪资   |
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
| 网络工程师                     | 孙空无          |     27 |       11 | 本科      |      3 |   4800 |
| linux工程师                    | 周万石朋鸟      |     18 |       12 | 幼本      |      0 |    666 |
| 水晶头工程师                   | 媛媛            |     35 |       13 | 小学      |     -1 | -10000 |
| 公司厕所管理员                 | 陈文强          |     55 |       14 | 初中      |      5 |   1500 |
| 公司女性管理工程师             | 涛涛            |     20 |       15 | 高中      |     10 |  11500 |
| 公司歌唱家兼播音编程           | 徐勇            |     20 |       16 | 博士后    |     20 | 111500 |
| 台球编程员                     | 泽鹏            |     18 |       17 | 大专      |      2 |   8000 |
+--------------------------------+-----------------+--------+----------+-----------+--------+--------+
7 rows in set (0.00 sec)

mysql> quit
Bye

22.最终效果图

技术图片

以上是关于mysql的管理 (实战,可跟做)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL-MMM高可用集群搭建实战(全程可跟做!)

Nginx+Tomcat负载均衡群集(实战可跟做!)

LNMP架构部署——可跟做

部署Nginx+Apache动静分离(实战!可跟做!)

OSPF协议项目实战讲解(可跟做)-第一篇

Nginx服务之rewrite模块应用实例(实战!可跟做!)