五、安装mysql5.7.25
- 描述
- 安装mysql5.7.25
- 1、创建 mysql运行用户并创建目录
- 2、官网下载mysql
- 3、解压mysql
- 4、编译安装mysql
- 1、安装cmake
- 2、编译安装
- 5、修改配置文件路径以及内容
- 6、设置目录权限
- 7、初始数据库
- 8、添加mysql系统启动脚本
- 9、软连接
- 10、登录修改root密码
- 11、创建普通用户
- 12、用户授权
注:本文皆为本人自己实际开发中的了解所得经验,如有不对之处欢迎诸位批评指点
描述
以下内容为Centos7安装mysql5.7.25操作时一些基本命令和流程
安装mysql5.7.25
1、创建 mysql运行用户并创建目录
groupadd mysql
useradd -g mysql mysql
创建目录文件夹
mksir -p /usr/local/mysql/data
mksir -p /usr/local/mysql/log
2、官网下载mysql
下载地址:mysql5.7.25下载地址
注:Mysql5.7以后在cmake时必须指定boost,源码包有含boost的和不含boots的,这里下载含boost的源码包,安装更方便
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.25.tar.gz
3、解压mysql
tar zxvf mysql-boost-5.7.25.tar.gz
4、编译安装mysql
1、安装cmake
yum install -y cmake
MySQL常见cmake编译参数
参数 | 说明 |
-DCMAKE_INSTALL_PREFIX=dir_name | 基础的文件夹,对应mysqld的–basedir参数 |
-DINSTALL_BINDIR=dir_name | bin目录位置 |
-DINSTALL_DOCDIR=dir_name | 数据库数据文档目录位置 |
-DSYSCONFDIR=dir_name | 默认配置my.cnf目录 |
-DMYSQL_UNIX_ADDR=dir_name | mysql的sock存放地址 |
-DMYSQL_USER=mysql | mysql启动用户 |
-DDEFAULT_CHARSET=utf8mb4 | 设置数据库默认编译码 |
-DDEFAULT_COLLATION=utf8mb4_general_ci | 设置数据库默认数据排序规则 |
-DWITH_SSL=yes | 是否启用SSL验证 |
2、编译安装
1、cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/usr/local/mysql/conf -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_SSL=yes -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost
2、make && make install
5、修改配置文件路径以及内容
cd /usr/local/mysql/bin
rm -rf /etc/my.cnf
cp /root/mysql-5.7.25/packaging/rpm-common/my.cnf /usr/local/mysql/conf/
vim /usr/local/mysql/conf/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
6、设置目录权限
cd /usr/local/mysql
chown -R mysql:mysql .
7、初始数据库
./bin/mysqld --defaults-file=/usr/local/mysql/conf/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/opt/mysql/data --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true
初始化后会生成随机密码,也可以在/usr/local/mysql/log下的日志文件内查看
8、添加mysql系统启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#开户、关闭、重启
service mysql start
service mysql stop
service mysql restart
开机自启
chkconfig --add mysql
chkconfig mysql on
chkconfig --list
9、软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
10、登录修改root密码
[root@xi ~]# mysql -uroot -p
mysql> alter user user() identified by "123456";
11、创建普通用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
12、用户授权
GRANT privileges ON databasename.tablename TO 'username'@'host'
flush privileges;
具体用法为:
grant 权限 on 数据库.表 to '用户'@'IP地址';
赋予玩权限必须刷新数据库权限
flush privileges;
mysql权限
权限 | 描述 |
all privileges | 除grant外的所有权限 |
select | 仅查权限 |
select,insert | 查和插入权限 |
usage | 无访问权限 |
alter | 使用alter table |
alter routine | 使用alter procedure和drop procedure |
create | 使用create table |
create routine | 使用create procedure |
create temporary tables | 使用create temporary tables |
create user | 使用create user、drop user、rename user和revoke all privileges |
create view | 使用create view |
delete | 使用delete |
drop | 使用drop table |
execute | 使用call和存储过程 |
file | 使用select into outfile 和 load data infile |
grant option | 使用grant 和 revoke |
index | 使用index |
insert | 使用insert |
lock tables | 使用lock table |
process | 使用show full processlist |
select | 使用select |
show databases | 使用show databases |
show view | 使用show view |
update | 使用update |
reload | 使用flush |
shutdown | 使用mysqladmin shutdown(关闭MySQL) |
super | 使用change master、kill、logs、purge、master和set global。还允许mysqladmin调试登陆 |
replication client | 服务器位置的访问 |
replication slave | 由复制从属使用 |
数据库或表的表现
数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库