1、创建 mysql运行用户
groupadd mysql
useradd -g mysql mysql
创建文件夹
/usr/local/mysql/conf 存放配置
/usr/local/mysql/log 存放日志
/opt/mysql/data 存放数据(/usr/local/mysql/data内存可能会不够,所以选择使用此目录存放数据)
2、下载压缩包
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
yum install -y cmake
cd mysql-5.7.25
MySQL常见编译参数:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/opt/mysql/data -DSYSCONFDIR=/usr/local/mysql/conf -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8mb4 -DMYSQL_USER=mysql -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_SSL=yes -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost
make && make install(此操作建议在screen中执行,screen相当于开启一个会话窗口,就算网络断开了该窗口执行的命令也不会中断,支持多会话,个人感觉非常好用,运行时间太长使用screen可同时进行服务器的其他操作)
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
初始化后会生成随机密码,记下来后边登录数据库需要用
8、添加mysql系统启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#开户、关闭、重启
service mysql start
service mysql stop
service mysql restart
9、软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
10、登录修改root密码
mysql -uroot -p
mysql> alter user user() identified by "123456";//此处的123456应该用上边截图的初始随机密码
11、创建普通用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
12、用户授权
GRANT privileges ON databasename.tablename TO 'username'@'host'
flush privileges;//刷新
赋权时权限代码及说明:
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 由复制从属使用
// 数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库