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=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"  

重启系统就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值