目录
应该是离线安装,这里在线下载了一个安装包:
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
#切换用户
$ su root
密码:
#查看是否有 mariadb
命令:rpm -qa | grep mariadb
结果:mariadb-libs-5.5.64-1.el7.x86_64
#删除mariadb 忽略相关依赖(操作过程中发现不删除也可以,以后慢慢体会吧)
命令:rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
#检查是否安装mysql
命令:rpm -qa | grep mysql
#在线下载mysql安装包
命令: wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
#出现这个时表示下载完成
结果: 已保存 “mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz” [724672294/724672294])
#看看这个目录下有什么
命令: ls /usr/local
#解包 到指定位置
命令:tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
#注意,这里会解包到 mysql-5.7.28-linux-glibc2.12-x86_64文件夹中,为了使用方便,可以重命名一下
#重命名文件
命令:mv /usr/local/mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql
#查看一下
命令:ls /usr/local/mysql
#创建用户组和用户
groupadd mysql
useradd -r -g mysql mysql
#创建 使用vi命令,创建my.cnf 文件 保存路径 /usr/local/mysql/my.cnf
[mysqld]
max_allowed_packet=128M
basedir=/usr/local/mysql ------注意这里路径
datadir=/usr/local/mysql/data ------注意这里路径
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
skip-name-resolve
character-set-server=utf8mb4
default_password_lifetime=0
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
注意,实际文件中请把汉字全部删掉
#初始化mysql
命令: /usr/local/mysql/bin/mysqld --defaults-file=/usr/lcoal/mysql/my.cnf --initialize --user=mysql
记住这个(初始密码,也表示初始化成功): [Note] A temporary password is generated for root@localhost: &*=1N44OuiOf
#创建systemctl服务配置文件 路径 /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
After=network.target
[Service]
Type=simple
User=mysql
Environment="ARGS=--defaults-file=/usr/local/mysql/my.cnf"
ExecStart=/usr/local/mysql/bin/mysqld $ARGS
[Install]
WantedBy=multi-user.target
#启动mysql
命令:systemctl start mysql
#查看状态
命令:systemctl status mysql
#查看停止mysql
命令:systemctl stop mysql
#登录 mysql
命令:/usr/local/mysql/bin/mysql -uroot -p
#配置环境变量,输入命令的时候可以不用全路径拼写了
命令:export PATH="$PATH:/usr/local/mysql/bin"
注意这里的$是必须的,表示在最后增加新的环境变量,不同的变量之间是:分割的;
#查看配置是否成功:
命令:export
#看这个,表示配置成功
declare -x PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/wujinxing/.local/bin:/home/wujinxing/bin:/usr/local/mysql/bin"
#可以这样登录mysql了
#登录 mysql
命令:mysql -uroot -p
#登录成功:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.28
Copyright (c) 2000, 2019, 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>
#第一次进入数据库要做的事情:
#重置登录密码
alter user 'root'@'localhost' identified by '123456';
#进入mysql数据库,修改远程访问配置
命令:use mysql
命令:update user set host='%' where user='root';
创建一个数据库:
命令:create database 数据库名称
创建数据表,首选指定再哪里创建数据表:
指定数据库:use 数据库名
创建数据表:create table tb_userinfo ( dnUserId int(4) primary key auto_increment, dcUserNickName varchar(50) , dcPwd varchar(32), dcPhone varchar(11), dcPhoneArea varchar(4), dtAddTime datetime);
创建成功:Query OK, 0 rows affected (0.01 sec)
#注意 primary key 主键 auto_increment 自增约束,从1开始
插入数据:
插入:insert into tb_userinfo (dcUserNickName,dcPwd,dcPhone,dcPhoneArea,dtAddTime)values('s******n','654321','150******94','0086',now());
成功:Query OK, 1 row affected (0.11 sec)
#查看数据
mysql> select * from tb_userinfo;
+----------+----------------+--------+-------------+-------------+---------------------+
| dnUserId | dcUserNickName | dcPwd | dcPhone | dcPhoneArea | dtAddTime |
+----------+----------------+--------+-------------+-------------+---------------------+
| 1 | s******n | 654321 | 150******94 | 0086 | 2020-05-12 11:43:55 |
+----------+----------------+--------+-------------+-------------+---------------------+
1 row in set (0.00 sec)
#退出mysql
exit 或\q 或quit ,可以用 help;查询命令。
例如
mysql>exit
结果:Bye
附:vi使用:
1.进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
2.切换至插入模式(Insert mode)编辑文件:
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」
3.Insert 的切换:
先按一下「ESC」键转到「命令行模式(command mode)」
4.退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
更多介绍请参考 傲骄鹿先生 的《Linux——vi命令详解》
配置过程中的错误:
(1)、这个应该是 mysql.service中配置有问题,注意查看拼写错误
[root@localhost wujinxing]# systemctl status mysql
● mysql.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@localhost wujinxing]# systemctl start mysql
[root@localhost wujinxing]# systemctl status mysql
● mysql.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 二 2020-05-12 10:25:14 CST; 1s ago
Process: 58046 ExecStart=/usr/local/mysql/bin/mysqld $ARGS (code=exited, status=1/FAILURE)
Main PID: 58046 (code=exited, status=1/FAILURE)
(2)、没有创建用户组和用户
[root@localhost wujinxing]# /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize --user=mysql
2020-05-12T02:14:45.861481Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-05-12T02:14:45.861548Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2020-05-12T02:14:45.861551Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2020-05-12T02:14:45.871078Z 0 [ERROR] Fatal error: Can't change to run as user 'mysql' ; Please check that the user exists!
2020-05-12T02:14:45.871116Z 0 [ERROR] Aborting
TIPS:export PATH="$PATH:/usr/local/mysql/bin" 这种设置方法只在本次登录有效,想要永久生效需要做如下配置:
修改profile文件:
vi /etc/profile
在这个文件中加入:export PATH="$PATH:/usr/local/mysql/bin"
重启系统就可以了。