离线安装Mysql Centos-离线安装MySql

卸载系统自带的Mariadb/MySql

  1. rpm -qa|grep mariadb

    输出: mariadb-libs-5.5.44-2.el7.centos.x86_64

  2. rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

准备-安装包&依赖

  1. 下载mysql安装包 https://dev.mysql.com/downloads/mysql/5.7.html#downloads

    MySQL Community Server 5.7.25
    
    Select Version:
    5.7.25(选择)
    Select Operating System:
    Linux-Generic(选择)
    Select OS Version:
    Linux-Generic(glibc 2.12)(x86,64-bit)(选择)
    
    Compressed TAR Archive
    (mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz)     Download(点击下载)
  2. 下载依赖、打包(纯净的环境,可以在docker中完成) 

解释: yum install --downloadonly(该命令只下载不安装)

yum install --downloadonly --downloaddir=/home/libaio libaio-devel.x86_64

yum install --downloadonly --downloaddir=/home/libaio numactl.x86_64

解压安装包&安装依赖

1 解压Mysql

mysql安装包到 /usr/local/ 目录下

tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

重命名 mv /usr/local/mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql

df -h 查看磁盘使用情况,根据情况选择数据库数据存放地址

创建mysql数据存储目录 mkdir /usr/local/mysql/data

2 安装依赖

tar -zxvf libaio.tar.gz

tar -zxvf numactl.tar.gz

rpm -ivh *.rpm --nodeps --force

设置/配置

1. 创建mysql用户组/用户

groupadd mysql

useradd mysql -g mysql -p 123456

cd /usr/local/;chown -R mysql:mysql mysql/ 设置文件权限

 文件

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M

2. 初始化mysql

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

执行完毕最后一行 产生一个随机密码 gRshYu?R/5hs

3. 设置开机自启动

  • 将服务文件拷贝到init.d下,并重命名为mysqlcp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

  • 赋予可执行权限 chmod +x /etc/init.d/mysqld

  • 添加服务 chkconfig --add mysqld

  • 显示服务列表 chkconfig --list

  • 如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入 chkconfig --level 345 mysqld on

  • 验证 netstat -na | grep 3306

5. 启动mysql服务

/usr/local/mysql/support-files/mysql.server start

6. 配置环境变量

vim ~/.bashrc

export PATH=$PATH:/usr/local/mysql/bin

source ~/.bashrc

7. 登录mysql数据库

mysql -u root -p 使用随机生成的密码登录

set PASSWORD = PASSWORD('新密码'); 修改密码

8. 设置可远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

例如
1. 你想root使用123456从任何主机连接到mysql服务器。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

2. 如果你想允许用户jack从ip为10.10.10.10的主机连接到mysql服务器,并使用654321作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack'@’10.10.10.10’ IDENTIFIED BY '654321' WITH GRANT OPTION;
mysql>FLUSH RIVILEGES

9. CentOS 下 启动,停止,重启,查看mysql服务

  1. 启动 service mysqld start
  2. 停止 service mysqld stop
  3. 重启 service mysqld restart
  4. 查看 service mysqld status

DDL

创建数据库

create databases <database_name>;

创建表

SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `table_name`;
CREATE TABLE `table_name` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(128) DEFAULT NULL,
  `time` datetime DEFAULT NULL,
  `memo` mediumtext,
  `txt` text,
  `weight` float DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=159423 DEFAULT CHARSET=utf8;

添加字段并设置默认值

ALTER TABLE <表名> ADD <字段> <类型(长度)> DEFAULT '1' COMMENT '说明';

修改字段类型

alter table <table_name> modify column <column_name> varchar(128);