Linux与MySql学习之旅(一): 离线安装MySQL和问题解决
目录
应该是离线安装,这里在线下载了一个安装包:
应该是离线安装,这里在线下载了一个安装包:
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=3306sql_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=mysqlEnvironment="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"
重启系统就可以了。
Linux与MySql学习之旅(一): 离线安装MySQL和问题解决相关推荐
- Centos Linux 离线安装 MySQL 5.7、使用MySQL
Centos Linux 离线安装 MySQL 5.7.使用MySQL 视频教程链接:https://www.bilibili.com/video/BV1Nv4y1m7u4/ 1. MySQL 简介 ...
- 在linux下离线安装MySQL
在linux下离线安装MySQL 首先从官网下载rpm离线包,然后解压到linux下 放到linux下之后,解压到任意目录下 tar xf mysql-5.7.35-1.el7.x86_64.rpm- ...
- linux虚拟机上离线安装mysql_Linux下离线安装MySQL
Linux下安装mysql 1 检查并卸载已安装mysql 命令:rpm -qa|grep -i mysql 命令:rpm -e --nodeps '上个命令后显示的本机已安装mysql依赖' 如果存 ...
- Linux 离线安装mysql
离线安装jdk 步骤一:在opt下创建soft 和 install 文件夹来存放未解压和解压文件 cd opt/ mkdir soft mkdir install chmod 777 soft chm ...
- [转]Docker学习之四:使用docker安装mysql
本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...
- nas4free 安装mysql_[转]Docker学习之四:使用docker安装mysql
Docker学习之一:注册Docker Hub账号 Docker学习之二:Docker基本简单操作命令 Docker学习之三:Docker在linux下简单安装使用 Docker学习之四:使用dock ...
- centos7离线安装mysql_CentOS7离线安装MySQL的教程详解
1.删除原有的mariadb,不然mysql装不进去 mariadb-libs-5.5.52-1.el7.x86_64 rpm -qa|grep mariadb rpm -e --nodeps mar ...
- linux mysql8.0.16 下载_Linux CentOS上安装 MySQL 8.0.16
前言: 因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗 ...
- 离线安装MySQL缺少libaio.so.1文件——并离线安装libaio.so.1
离线安装MySQL初始化数据时报错:error while loading shared libraries: libaio.so.1 这是因为服务器缺少libaio.so.1文件 解决方法: 1,安 ...
- 二进制包离线安装mysql
前言 文章目录 前言 本文将介绍离线安装Mysql的方式 安装环境:centos7 1. 到官网下载二进制安装包 地址:https://dev.mysql.com/downloads/mysql/5. ...
最新文章
- 关于学习Python的一点学习总结(30->递归实例)
- Android --- TabHost 切换时,改变选项卡下字体的状态(大小、加粗、默认被选中第一个)
- window实用快捷键
- OpenCV与Qt:IplImage转换为QImage
- 做游戏,学编程(C语言) 10 僵尸危机
- c# combobox 绑定枚举方式
- Eclipse for python环境搭建及创建python项目
- 昨天我上午下单买的电池,已经到了长沙
- Fedora9虚拟机下与windows共享文件
- Flutter使用阿里矢量图库管理项目svg图片
- 【C++】重定义,重载,重写
- C#自动换ip功能或者ip代理功能要这么实现
- java工作日志,如何写工作日志
- vga接口和hdmi接口的区别
- 计算机增加一个硬盘怎么设置方法,电脑加硬盘【操作教程】
- 关于华硕笔记本BIOS设置
- 猿辅导python编程课网课怎么样_猿辅导网课怎么样 靠谱吗
- RMAN备份恢复性能优化--MAXSETSIZE, MAXPIECESIZE, FILESPERSET, SECTION SIZE等
- EditText属性和一些小技巧
- 魅族mx1Android4.4,魅族MX如何升级安卓4.0
热门文章
- 鬼谷子:大胸怀、大格局、成大事者,一定要看懂这三句话
- [从头读历史] 第255节 孔子和他的《春秋》 [BC657至BC598]
- 王树森强化学习笔记——多智能体强化学习
- L1-5判断题(15分)
- java开发最新获取抖音无水印视频和背景音乐
- SPM12入门案例2
- c++代替goto语句的方法
- 0CTF/TCTF 2021 Quals_Misc_singer
- 一个互联网app的开发设计(技术选型和架构)
- 配置GitHub二级域名,xxx.github.io