目录
前言、安装CentOS7
1、下载mysql(也可以使用浏览器、迅雷等其他下载工具下载)
2、创建mysql安装目录(自定义目录)
3、解压mysql压缩包
4、复制安装文件到mysql安装目录
5、进入mysql安装目录
6、创建mysql配置文件
7、创建mysql用户和mysql组
8、安装依赖
9、切换到mysql用户
10、初始化mysql配置
11、配置服务配置文件
12、启动服务
13、配置开机自启
14、配置监听(修改监听ip,端口)
15、测试使用
16、mysql简单使用
前言、安装CentOS7
1、下载mysql(也可以使用浏览器、迅雷等其他下载工具下载)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
2、创建mysql安装目录(自定义目录)
mkdir -p /archive/mysql
3、解压mysql压缩包
tar -xzvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
4、复制安装文件到mysql安装目录
mv mysql-5.7.34-linux-glibc2.12-x86_64/* /archive/mysql/
5、进入mysql安装目录
cd /archive/mysql/
6、创建mysql配置文件
vi my-mysql.cnf
[client]
socket=/archive/mysql/mysql.sock
[mysqld]
# skip-grant-tables
basedir=/archive/mysql
datadir=/archive/mysql/data
port = 60156
socket=/archive/mysql/mysql.sock
[mysql]
socket=/archive/mysql/mysql.sock
[mysqldump]
socket=/archive/mysql/mysql.sock
[mysqladmin]
socket=/archive/mysql/mysql.sock
symbolic-links=0
log-error=/archive/mysql/log/mysqld.log
pid-file=/archive/mysql/mysqld.pid
7、创建mysql用户和mysql组
groupadd mysql #创建mysql组
useradd mysql -g mysql #创建mysql用户,归属mysql组
chown -R mysql:mysql /archive/mysql #修改安装目录归属mysql用户和组
chmod -R 755 /archive/mysql #修改mysql目录安装权限
visudo # 增加sudo权限(增加下边这句)
mysql ALL=(root) ALL, !/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root #末尾增加除修改其他用户密码外的所有操作权限
8、安装依赖
yum -y install make gcc-c++ cmake bison-devel ncurses-devellibaio libaio-devel
9、切换到mysql用户
su - mysql
10、初始化mysql配置
/archive/mysql/bin/mysqld --defaults-file=/archive/mysql/my-mysql.cnf --initialize --user=mysql
/archive/mysql/bin/mysql_ssl_rsa_setup --defaults-file=/archive/mysql/my-mysql.cnf
记得初始化密码(也可后续查找使用命令:grep 'temporary password' /archive/mysql/log/mysqld.log【日志文件对应文件】)
11、配置服务配置文件
vi /archive/mysql/support-files/mysql.server
补充根目录和数据目录,新增配置文件路径
新增一行参数
新增启动参数
12、启动服务
/archive/mysql/support-files/mysql.server start
/archive/mysql/support-files/mysql.server stop #停止服务
13、配置开机自启
sudo cp /archive/mysql/support-files/mysql.server /etc/init.d/mysql5.7 # 复制服务到系统服务力
sudo chmod +x /etc/init.d/mysql5.7 # 增加可执行权限
sudo chkconfig --add mysql5.7 # 添加到开机自启
sudo chkconfig --list # 查看自启服务列表
sudo chkconfig --level 345 mysql5.7 on # 如3,4,5为关,则需要打开
service mysql5.7 start # 配置服务后,启动命令
service mysql5.7 stop # 配置服务后,关闭命令
14、配置监听(修改监听ip,端口)
firewall-cmd --zone=public --add-port=60156/tcp --permanent # 先用root打开需要开放的端口,不同防火墙不同打开方法(比如我想用60156端口,监听配置文件我也修改为60156)
firewall-cmd --reload # 重新加载防火墙
15、测试使用
# 手动启动 测试使用
bin/mysqld --defaults-file=/archive/mysql/my-mysql.cnf --user=mysql &
#由于修改端口,使用如下命令测试连接
/archive/mysql/bin/mysql --socket=/archive/mysql/mysql.sock --port=60156 -uroot -p
16、mysql简单使用
(1)修改mysql数据库的root用户密码
alter user 'root'@'localhost' identified by 'rootpassword';
(2)创建数据库
create database if not exists testdb default character set utf8;
(3)创建用户,设置密码
create user 'test'@'%' identified by 'password';
(4)授权数据库testdb给test所有访问权限
grant all privileges on testdb.* to "test"@'%';
(5)刷新权限
flush privileges;
(6)创建序列函数及使用
--mysql实现序列
drop table if exists sequence;
create table sequence
(
seq_name varchar(50) not null, -- 序列名称
current_val int not null, -- 当前值
increment_val int not null default 1, -- 步长(跨度)
primary key (seq_name)
);
select * from sequence;
insert into sequence values ('test', '0', '1');
create function currval(v_seq_name varchar(50))
returns integer(11)
begin
declare value integer;
set value = 0;
select current_val into value from sequence where seq_name = v_seq_name;
return value;
end;
create function nextval (v_seq_name varchar(50)) returns integer
begin
update sequence set current_val = current_val + increment_val where seq_name = v_seq_name;
return currval(v_seq_name);
end;
select nextval('test');