目录
检查是否安装了mariadb数据库
mariadb数据库是mysql的分支,是免费开源的。mariadb和mysql有冲突,在安装MySQL之前需要确保没有安装mariadb
检查命令:
yum list installed | grep mariadb
从上图可知系统自己安装了mariadb,需要卸载
卸载命令
yum -y remove 软件名 // yum -y remove mariadb-libs.x86_64
-
如果上面命令卸载不成功,则把“-y”去掉,在卸载过程中手动确认卸载即可
-
卸载之后,再次检查,看看是否成功卸载
安装MySQL
上传安装包
使用Xftp软件把MySQL文件(mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz)上传到Linux的“/opt/mysoftwares”下
解压:
进入到“/opt/mysoftwares”,然后把压缩包解压到/opt下
cd /opt/mysoftwares
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /opt
重命名:
回到“/opt”,解压之后名字太长,重命名个短的,也可以不改
cd /opt
mv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql-5.7.18
创建data文件夹
-
data文件夹是MySQL依赖存放数据文件的,数据库的表数据都放在data目录下
-
MySQL文件中默认没有data文件夹,需要我们手动在MySQL根目录下创建
cd mysql-5.7.18
mkdir data
创建专门执行MySQL命令的Linux用户
创建名为“mysql”的Linux用户,用来执行MySQL的“mysqld”命令,此命令用来初始化MySQL基础信息。(常用mysql作文用户名,当然也可能其他用户名,但不推荐)
groupadd mysql // 创建名为mysql的组
useradd -g mysql mysql // 创建指定组为mysql的名为mysql的Linux用户
初始化MySQL
使用mysqld命令初始化数据库的基本信息
cd /opt/mysql-5.7.18/bin
./mysqld --initialize --user=mysql --datadir=/opt/mysql-5.7.18/data --basedir=/opt/mysql-5.7.18
-
参数说明:
-
--initialize 初始化mysql,创建mysql的root, 随机生成密码。记住密码,登录msyql使用
-
--user执行msyqld 命令的linux用户名
-
--datadir : mysql数据文件的存放位置,目录位置参照本机的设置
-
--basedir : msyql安装程序的目录,目录位置参照本机的设置
-
-
root账户初始密码:
-
该命令执行后,会生成一个临时的mysql数据库root用户的密码,需要把密码记下来,后续第一次登录mysql需要使用
-
如下图最后:root@localhost: +sil?f6Tgx&q,密码是:+sil?f6Tgx&q
-
设置环境变量
-
设置好环境变量才能诉随时随地使用“mysql -uroot -p”命令进入到mysql控制台
-
找到mysql文件的bin路径:“/opt/mysql-5.7.18/bin”
-
打开编辑系统环境变量文件 /etc/profile,把下面那行代码( MySQL 的 bin 路径)加入到环境变量中
export PATH=$PATH:/opt/mysql-5.7.18/bin
让 profile文件立即生效:
source /etc/profile 或 . /etc/profile
启用安全功能
-
在服务器和客户机之间进行数据传输的时候进行数据加密,通过证书提供身份验证机制
cd /opt/mysql-5.7.18/bin
./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.18/data
修改mysql目录权限
-
MySQL安装好之后,需要更改mysql安装目录mysql-5.7.18整个文件夹目录权限,更改所有者和组为之前创建的名为mysql的Linux用户。(刚才创建的mysql用户还没有权限,那就给它权限)
cd /opt
chown -R mysql:mysql /opt/mysql-5.7.18/ // chmod 777 /opt/mysql-5.7.18/ 或者可以对所有用户开放所有权限
-
后台启动MySQL
-
启动:启动后光标不显示,在按一次回车就显示光标了
-
cd /opt/mysql-5.7.18/bin
./mysqld_safe &
// 其中&符号表示后台启动(如果不后台启动,会霸占控制台,无法进行其他操作;需要打开其他终端来进行其他操作;通过kill命令来关停或关掉终端)
-
检查:通过查看进程来检查MySQL是否启动
ps -ef | grep mysql
授权远程访问
授权远程访问,在没有授权之前只能在本机访问msyql,远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)
授权
grant all privileges on *.* to root@'%' identified by '123';
-
*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户,如果只是授权某数据库或数据库下某张表,则把*替换成你所需的数据库名和表明即可。
-
root:授予root账号。
-
“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。
-
“password”:分配账号对应的密码,这里密码自己替换成你的 root帐号密码
更新权限信息
flush privileges;
关闭防火墙
systemctl stop firewalld // 关闭防火墙
systemctl status firewalld // 查看防火墙状态,检查是否成功关闭
连接Navicit
关闭MySQL
cd /opt/mysql-5.7.18/bin
./mysqladmin -uroot -p shutdown
回车后输入密码即可关闭