linux下安装mysql:
1.下载mysql安装包
进入到mysql官网下载mysql编译好的二进制安装包,我们需要下载mysql-5.7.22 64位版本。
MySQL 官方下载地址: https://dev.mysql.com/downloads/mysql/
MySQL5.7.22 64位下载地址:https://dev.mysql.com/downloads/file/?id=476936
进入到MySQL5.7.22 64位下载地址,点击 No thanks, just start my download.(不登录进行下载),进行下载
2.上传并解压jar包
通过ssh来连接linux,并上传解压jar包:
输入用户名,密码进行登录到文档模式,将文件上传到/usr/mysql-5.7.22 文件夹中
通过命令窗口,对mysql安装包进行解压:
cd usr/mysql-5.7.22/
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
对解压目录进行重命名:
mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql-5.7.22
3.添加用户组和用户
添加系统mysql组
groupadd mysql
添加mysql用户到用户组mysql
useradd -g mysql mysql
(添加完成后可用id mysql
查看)
id mysql
4.安装数据库
切换到mysql安装目录:
cd /usr/mysql-5.7.22/mysql-5.7.22/
在mysql目录下创建data目录:
mkdir data
修改当前目录拥有者为mysql用户:
chown -R mysql:mysql ./
安装数据库:
bin/mysqld --initialize --user=mysql --basedir=/usr/mysql-5.7.22/mysql-5.7.22 --datadir=/usr/mysql-5.7.22/mysql-5.7.22/data
生成的临时密码,注意:密码要记住,修改密码的时候要用到,默认的随机密码是没办法直接对数据库做操作的,需要修改密码,5.7版本用了validate_password密码加强插件,因此在修改密码的时候绝对不是 123456 能糊弄过去的。需要严格按照规范去设置密码.
创建RSA private key ,执行以下命令:
bin/mysql_ssl_rsa_setup --datadir=/usr/mysql-5.7.22/mysql-5.7.22/data
将mysql-5.7.22/目录下除了data/目录的所有文件,改回root用户所有
chown -R root .
mysql用户只需作为mysql-5.7.22/data/目录下所有文件的所有者
chown -R mysql data
5.配置my.cnf
vim /etc/my.cnf
[mysqld]
basedir=/usr/mysql-5.7.22/mysql-5.7.22
datadir=/usr/mysql-5.7.22/mysql-5.7.22/data
socket=/tmp/mysql.sock
user=mysql
tmpdir=/tmp
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/mysql-5.7.22/mysql-5.7.22/data/error.log
pid-file=/usr/mysql-5.7.22/mysql-5.7.22/data/mysql.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
保存并退出
6.添加开机启动
cp /usr/mysql-5.7.22/mysql-5.7.22/support-files/mysql.server /etc/init.d/mysqld
修改启动文件:
vim /etc/init.d/mysqld
向下翻找到basedir,datadir,添加以下信息:
basedir=/usr/mysql-5.7.22/mysql-5.7.22
datadir=/usr/mysql-5.7.22/mysql-5.7.22/data
保存并退出
加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
vi /etc/profile
添加mysql路径,加入下面的内容,保存并退出:
export PATH=$PATH:/usr/mysql-5.7.22/mysql-5.7.22/bin
刷新立即生效
source /etc/profile
7.启动mysql
service mysqld start
如启动失败,删除 /usr/mysql-5.7.22/mysql-5.7.22/data下所有文件,重新执行 bin/mysqld --initialize --user=mysql --basedir=/usr/mysql-5.7.22/mysql-5.7.22 --datadir=/usr/mysql-5.7.22/mysql-5.7.22/data再启动
8.修改登录密码,修改远程连接的用户权限问题
mysql -uroot -p
输入上面的临时密码:
登录成功以后先修改密码。用户名:root ,密码:root 此账号密码只能在本地使用,因为连接权限为localhost:
alter user 'root'@'localhost' identified by 'root';
修改成功以后刷新一下权限
flush privileges;
授权一个新用户,用户名:root01,密码:root ,此用户可以用于远程连接,因为连接权限为%,表示全部:
GRANT ALL PRIVILEGES ON *.* TO 'root01'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
9.设置完成以后,连接客户端
在Windows端的Navicat Premium来进行链接数据库:
9.1 新建链接:
9.2 输入链接信息
连接名:随便输入
主机名或ip地址:输入linux的ip地址(一定要关闭防火墙,不然连接不到,可以在本地ping一下虚拟机的ip地址,看是否能连通,linux的ip地址,在命令端输入:ifconfig来查看ip地址)
端口号:默认端口3306
用户名:我们通过第8步,授权的新用户来进行链接
密码:第8步,授权的新用户密码
9.3 是否连接成功,点击连接测试。