linux+Mysql5.7离线安装

一、离线包下载地址

官网地址:MySQL :: Download MySQL Community Server

二、准备安装
1.上传安装包至虚拟机
cmd窗口上传:
命令规则:scp mysql安装包物理机路径 root@虚拟机ip:虚拟机上传路径

scp D:\alinux\mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz root@192.168.0.128:/usr/local/soft/
1
案例:


2.解压安装包
本文案例上传目录为:/usr/local/soft

// 进入上传目录
[root@localhost /]# cd /usr/local/soft/
// 解压mysql安装包   命令规则:# tar -zxvf 【安装包名称】
[root@localhost soft]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
// 重命名为mysql     命令规则:# mv【安装包名称】mysql
[root@localhost soft]# mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

三、开始安装
1.创建mysql用户组
// 添加mysql用户组
[root@localhost mysql]# groupadd mysql
// 添加mysql用户并加入用户组
[root@localhost mysql]# useradd -r -g mysql mysql

2.创建相关目录
// 创建mysql存储数据data目录
[root@localhost mysql]# mkdir /usr/local/soft/mysql/data
// 将mysql目录更换成mysql用户组
[root@localhost mysql]# chown -R mysql:mysql /usr/local/soft/mysql
// 创建mysql存储mysq.sock文件目录
[root@localhost mysql]# mkdir /var/lib/mysql
// 将目录更换成mysql用户组
[root@localhost mysql]# chown -R mysql:mysql /var/lib/mysql

3./etc下创建mysql启动配置文件 my.conf
// 进入etc目录
[root@localhost mysql]# cd /etc
// vi编辑my.conf文件
[root@localhost etc]# vi my.conf
* 复制下方命令进去:
注意:命令中的路径填写自己的安装位置


[mysql]
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
socket=/var/lib/mysql/mysql.sock
port=3306
basedir=/usr/local/soft/mysql
datadir=/usr/local/soft/mysql/data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysql.server]
user=mysql
basedir=/usr/local/soft/mysql

4.初始化mysql
注意:mysql5.7和之前版本不同,很多都是这个命令:…/scripts/mysql_install_db --user=mysql,
而mysql5.7的mysql_install_db命令是在bin目录下的建议用 mysqld --initialize命令

// 进入mysql安装目录
[root@localhost etc]# cd /usr/local/soft/mysql
// 执行初始化命令,注意路径对应自己的安装路径
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/soft/mysql --datadir=/usr/local/soft/mysql/data

./bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data


安装完成(示例): 注意:root@localhost: Ry*NgEjpe9%s     =hBS)jr*e3/k
这是mysql的初始密码,记住这个密码,后面修改密码要用。

5.修改启动脚本
因为本文不是安装在默认路径下(/usr/local),所以需要更改安装目录

// 进入 support-files 目录
[root@localhost mysql]# cd support-files/
// 编辑mysql.server
[root@localhost support-files]# vi mysql.server
// 修改如下两个值
basedir=【mysql安装路径】
datadir=【mysql数据存放路径】

basedir=/usr/local/soft/mysql
datadir=/usr/local/soft/mysql/data


6.添加mysql服务
将脚本复制到资源目录下

// 复制到 /etc/rc.d/init.d/ 下,并更名为 mysqld
[root@localhost support-files]# cp mysql.server /etc/rc.d/init.d/mysqld
// 进入init.d目录
[root@localhost support-files]# cd /etc/rc.d/init.d
// 设置运行权限
[root@localhost init.d]# chmod +x mysqld
// 添加mysql服务
[root@localhost init.d]# chkconfig --add mysqld
// 查看服务 3、4、5状态为开或者为 on 则表示成功。
[root@localhost init.d]# chkconfig --list mysqld
mysqld             0:关    1:关    2:开    3:开    4:开    5:开    6:关

7.启动mysql服务
active 状态为 active (running) 即为启动成功

// 启动mysql服务
[root@localhost /]# systemctl start mysql  
// 查看服务状态
[root@localhost /]# systemctl status mysql 

8.配置mysql环境变量
// 编辑配置文件
[root@localhost /]# vi /etc/profile
// 在末尾加入 mysql安装目录
export MYSQL_HOME=/usr/local/soft/mysql
export PATH=$MYSQL_HOME/bin:$PATH

// 刷新配置文件
[root@localhost /]# source /etc/profile

9.测试连接mysql
[root@localhost /]# mysql -uroot -p
Enter password: 【此处密码为第6步的初始密码,隐藏显示输入完回车即可】
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.21

Copyright (c) 2000, 2018, 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> 

10.修改密码
此时操作mysql则会提示需要你修改密码才可使用!

mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

修改密码为123456

mysql> alter user 'root'@'localhost' identified by '123456';    WypZ7p46my
Query OK, 0 rows affected (0.00 sec)
mysql> 

11.设置远程连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;  //刷新权限
Query OK, 0 rows affected (0.00 sec)

mysql> 


#默认密码长度大于等于8位才有效,否则报错,修改有效密码长度:
set global validate_password_policy=0;
set global validate_password_length=1;
#重设密码:
set password for root@localhost=password('1234');

#查看当前授予过的权限:
use mysql;
select user,host from user;

#授予root用户远程访问权限:
grant all privileges on *.* to root@'%' identified by '1234';
grant all privileges on dcb_rm_system to dcb_rm_system@'localhost' identified by 'fZXoaLDnm23X5r5BXR';

# 刷新权限,使设置生效, OK。
flush privileges;

#创建用户
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password';
#授权
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'localhost' WITH GRANT OPTION;
#创建新的数据库
mysql>CREATE DATABASE database_name  CHARACTER SET utf8mb4;

查看字符集
# 查看字符集
SELECT @@character_set_database;
#查看排序字符集
SELECT @@collation_database;
修改字符集
# 修改字符集
ALTER DATABASE DEFAULT CHARSET  utf8mb4;
# 修改排序字符集
ALTER DATABASE DEFAULT COLLATE  utf8mb4_general_ci;

mysql> flush privileges;

ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist

mysql> use mysql;

mysql> show tables;可以看到servers表,在系统mysql 目录下,可以看到server.ibd 和server.frm,可知表定义为innodb表。

mysql> drop table if exists servers;
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> show warnings;
+---------+------+-------------------------------------+
| Level | Code | Message |
+---------+------+-------------------------------------+
| Warning | 1146 | Table 'mysql.servers' doesn't exist |
+---------+------+-------------------------------------+
1 row in set (0.00 sec)

mysql> use mysql;

CREATE TABLE `servers` (

`Server_name` char(64) NOT NULL,
`Host` char(64) NOT NULL,
`Db` char(64) NOT NULL,
`Username` char(64) NOT NULL,
`Password` char(64) NOT NULL,
`Port` int(4) DEFAULT NULL,
`Socket` char(64) DEFAULT NULL,
`Wrapper` char(64) NOT NULL,
`Owner` char(64) NOT NULL,
PRIMARY KEY (`Server_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


systemctl status firewalld


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值