yum 安装MySQL
sed -ri s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
systemctl stop firewalld && systemctl disable firewalld
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
vim /etc/yum.repos.d/mysql-community.repo
yum -y install mysql-community-server
systemctl start mysqld && systemctl enable mysqld
grep "password" /var/log/mysqld.log
mysql -uroot -p
alter user ‘root’@’localhost’ identified by “password”;
源码编译安装MySQL
yum -y update
yum -y groupinstall "Development Tools"
yum -y install ncurses ncurses-devel bison libgcrypt perl make cmake
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.24.tar.gz
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql
mkdir -p /usr/local/mysqld/{data,mysql,log,tmp}
chown -R mysql:mysql /usr/local/mysqld/*
tar xf mysql-boost-5.7.24.tar.gz
cd mysql-5.7.24
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysqld/mysql \
-DMYSQL_DATADIR=/usr/local/mysqld/data \
-DWITH_BOOST=/opt/mysql-5.7.24/boost \
-DDEFAULT_CHARSET=utf8
#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysqld/mysql -DMYSQL_DATADIR=/usr/local/mysqld/data -DWITH_BOOST=/opt/mysql-5.7.24/boost -DDEFAULT_CHARSET=utf8
make -j `lscpu | awk 'NR==4{ print $2 }'`
make install
#提升MySQL命令为系统级别命令--添加环境变量
#专业配置环境变量PATH的文件:/etc/profile
#专业配置环境变量PATH的文件子项/etc/profile.d/
vim /etc/profile.d/mysqlcimmand.sh
添加:export PATH=$PATH:/usr/local/mysqld/mysql/bin
source /etc/profile
echo $PATH
#拷贝默认配置文件至/etc/my.cnf中
chown -R mysql.mysql /usr/local/mysqld/*
cd /usr/local/mysqld/mysql/mysql-test/include
mv /etc/{my.cnf,my.cnf.bak}
cp default_my.cnf /etc/my.cnf
vim /etc/my.cnf
# Use default setting for mysqld processes
!include default_mysqld.cnf
!include default_client.cnf
[mysqld]
basedir = /usr/local/mysqld/mysql
datadir = /usr/local/mysqld/data
tmpdir = /usr/local/mysqld/tmp
socket = /usr/local/mysqld/tmp/mysql.sock
pid_file = /usr/local/mysqld/tmp/mysqld.pid
log_error = /usr/local/mysqld/log/mysql_error.log
slow_query_log_file = /usr/local/mysqld/log/slow_warn.log
server_id = 19216816110
user = mysql
port = 3306
bind-address = 0.0.0.0
character-set-server = utf8
default_storage_engine = InnoDB
#执行数据库服务初始化操作
mysqld --defaults-file=/etc/my.cnf --initialize --user='mysql'
#启动mysqld服务
mysqld_safe --defaults-file=/etc/my.cnf & #首次需要安全启动
#查看默认密码:
grep password /usr/local/mysqld/log/mysql_error.log
#建立sock文件软链接:
ln -s /usr/local/mysqld/tmp/mysql.sock /tmp/mysql.sock
#登录:
mysql -uroot -p
#配置mysqld服务的管理工具
cd /usr/local/mysqld/mysql/support-files/
cp mysql.server /etc/init.d/mysqld #开机初始化时执行
chkconfig --add mysqld #加入到开机启动的列表
chkconfig mysqld on #开启
#创建mysqlctl
cp /usr/local/mysqld/mysql/support-files/mysql.server /usr/local/mysqld/mysql/bin/mysqlctl
启动:mysqlctl start
停止:mysqlctl stop
源码安装MySQL的流程
1. 更新系统内部RPM软件,并安装开发工具组,以及相应的编译依赖软件
2. 创建MySQL用户为MySQL服务设置用户身份;设置mysqld服务安装的目录
3. 解压mysql源码包->预编译(cmake)->编译(make)->安装(make install)
4. 添加mysql/bin下的命令至系统级别->添加MySQL命令至环境变量中
5. 将配置文件放置到/etc/my.cnf中;编写配置文件
6. 对mysql服务进行初始化操作
7. 使用mysql_safe进行安全启动;预加载安装选项;
8. 设置客户端与服务端连接的socket文件至/tmp
9. 登录mysql服务端,修改密码
10. 设置开机自启脚本;设置mysqld服务控制指令
mysql > 库(最高层)>>表(中层,存在于库中)>>字段(下层,存在于表中)>>data
库:
查看数据库:
show databases;
创建数据库:
create database 库名;
create database 库名 character set = utf8 collate = utf8_bin; #指定字符集 create database if not exists 库名 character set = utf8 collate = utf8_bin; #容错机制刷新数据库及表的列表内容:
flush privileges;
删除数据库:
drop database 库名;
drop database if exists 库名;
更改数据库名:null
表:
查看表:
show tables; #查看前进入库:use 库名;创建表:
create table if not exists 表名 (
字段名 int not null primary key, #创建主键时只能设置一个主键, 不能有多个 字段名 varchar(80) not null, #设置主键,目的是为不重复创建相同的数据 字段名 bigint not null,)
engine=InnoDB charset=utf8; #指定引擎、指定字符集删除表:
drop table 表名;
更改表名:
alter table 表名 rename 新表名;
字段:
查看字段:
desc 表名;
增加字段:
alter table 库名.表名 add 字段名 varchar(200) not null;
删除字段:
alter table 表名 drop 字段名;
更改字段数值类型:
alter table 表名 modify 字段名 varchar(200);
更改字段名:
alter table 表名 change 字段名 新字段名 varchar(100);
数据:
查看数据:
select 字段,字段 from 表名;
查看数据:
select * from 库名.表名\G; #“\G”为标准化输出,不加会乱码插入数据:
insert into 表名 values(01,”Tom”,13); #varchar类型需要加“”插入数据:
insert into 表名 (ID,Name,University,Secort,Sex) values(1,"TOM","SHANDONG","A","man");
删除数据:
delete from 表名 where ID=1;
更改数据:
update 表名 set Name=('TOM') where ID=1;
用户:
创建用户:
create user ‘name’@’x.x.x.x’ identified by “password”; #本地用户localhost一个网段x.x.x.%,全网%)删除用户:
drop user 'name'@'x.x.x.x';
delect from user where user=’name’ and host=’x.x.x.x’;
授权:
grant all privileges on 库名.* to 'user'@'x.x.x.x' identified by "密码";
grant select,delete,insert,update on cloud_class.* to 'user'@'x.x.x.x'; #存在的用户 不用给密码) #可以只授权select, delete, insert, update其中一个或多个权限
连接MySQL:
mysql -uroot -p -h指定连接到的ip -D指定连接的库-P指定连接的端口