首页 专题 文章 代码 归档

Centos7安装Mysql5.7

前言

有点老了哈,CentOS8早都出来了,Mysql8也早出来了…

不过不迟…

下载

官网:https://dev.mysql.com/downloads/mysql/

可以下载tar.gz文件,解压配置即可使用

配置

1、新建mysql用户

groupadd mysql  创建用户组
useradd -r -g mysql mysql ##-r参数表示mysql用户是系统用户,不可用于登录,创建用户并将用户组
chown -R mysql mysql/
chgrp -R mysql mysql/

2、新建配置文件

新建之前,先创建一些需要的目录或文件:

mkdir /usr/local/mysql/data

yum install libaio
cd /var/log/
touch mysqld.log

chmod 777 mysqld.log
chown mysql:mysql mysqld.log

cd /var/run/
mkdir mysqld
chmod 777 mysqld
cd mysqld
touch mysqld.pid

chmod 777 mysqld.pid
chown mysql:mysql mysqld.pid 
vim /etc/my.cnf

粘贴下面内容:

[mysqld]
port=3306
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
max_connections=151 # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

lower_case_table_names = 1


character-set-server=utf8

collation-server=utf8_general_ci


bind-address = 0.0.0.0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8

3、初始化

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

4、数据库加密

./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

5、启动服务

./mysqld_safe --user=mysql &

6、将mysql进程放入系统进程中,命令如下:

cp support-files/mysql.server /etc/init.d/mysqld

7、配置环境变量

vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin

8、使用随机密登录

mysql -u root -p

9、为root设置新密码

下面第二个root就是新密码

alter user 'root'@'localhost' identified by 'root';

10、允许远程链接

use mysql;
update user set user.Host='%' where user.User='root';

11、刷新权限

flush privileges;

systemctl

使用systemctl 启动mysql

创建文件:

vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
After=syslog.target
[Service]
User=mysql
Group=mysql
Type=forking
PermissionsStartOnly=true
ExecStart= /etc/init.d/mysqld start
ExecStop= /etc/init.d/mysqld stop
ExecReload= /etc/init.d/mysqld restart
LimitNOFILE = 5000
[Install]
WantedBy=multi-user.target

这一步能成功的前提是,之前执行了:

cp support-files/mysql.server /etc/init.d/mysqld

创建数据库

CREATE DATABASE IF NOT EXISTS testdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

新建用户

 create user 'test'@'localhost' identified by '1234';

注意: 此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

查询用户

select user,host from mysql.user;

更改密码

--方法1,密码实时更新;修改用户“test”的密码为“1122”
set password for test =password('1122');
--方法2,需要刷新;修改用户“test”的密码为“1234”
update  mysql.user set  password=password('1234')  where user='test'
--刷新
flush privileges;

分配权限

--授予用户test通过外网IP对数据库“testdb”的全部权限
grant all privileges on xxx.* to 'test'@'%' identified by '1234';  

--刷新权限
flush privileges; 

--授予用户“test”通过外网IP对于该数据库“testdb”中表的创建、修改、删除权限,以及表数据的增删查改权限
grant create,alter,drop,select,insert,update,delete on xxx.* to test@'%';    

查询权限

--查看用户“test”
show grants for test;
CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';

grant all privileges on database.* to 'user'@'localhost' identified by 'pass';

flush privileges;

自用新建命令

CREATE USER 'user'@'localhost' IDENTIFIED BY 'xxx';
CREATE DATABASE database;

grant SELECT,DELETE,UPDATE,INSERT,CREATE,REFERENCES on database.* to 'user'@'localhost' identified by 'xxx';

flush privileges;
此文阅读完毕,您可以:分享
二维码图片 扫描关注我们哟