1. rpm -qa|grep -i mysql 如果安装可以卸载
2.创建用户和用户组
groupadd mysql 添加用户组
useradd -r -g mysql -p root mysql
创建一个不用登陆的用户
(useradd-s /sbin/nologin -g mysql mysql)
3.下载安装包后进行安装
安装时候会提示与已经安装的RPM包有冲突,所以我们先卸载一些RPM包,
要卸载哪些呢?我们要卸载的是包含有mariadb关键字的RPM包,
执行命令:rpm -qa|grep mariadb来查看一下我们要卸载哪些软件
rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
rpm -e --nodeps mariadb-server-5.5.41-2.el7_0.x86_64
rpm -e --nodeps mariadb-5.5.41-2.el7_0.x86_64
由于mysql安装的时候需要有几个依赖包,直接安装mysql包会提示安装失败。
解压从下载的tar包
tar -xvf mysql-5.7.12-1.el7.x86_64.rpm-bundle.tar
会看到很多的rpm包,但是我们需要的就下面的4个rpm包,安装的时候需要依次执行
次执行命令:
rpm -ivh mysql-community-common-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm
4.命令执行完毕后,mysql就安装完成,下面需要做的就是对mysql 进行初始化
在linux和Unix系列系统中,有一点是很重要的,那就是确保数据库目录与文件的所有者为mysql登录账户,
以便在你运行mysqld服务的时候,mysql服务可以对这些目录和文件进行读取与写入操作。如果你是以root身份运行mysqld服务,
就需要确认一下,执行如下面显示的包含有--user选项的命令:
初始化的操作我们要在/usr/bin目录中进行,所以我们先进入/usr/bin目录:cd /usr/bin。
执行命令
shell> bin/mysqld --initialize --user=mysql 初始化生成随机root密码
登陆 mysql -u root -p 密码在vi /var/log/mysqld.log 中
shell> bin/mysqld --initialize-insecure --user=mysql 初始化不生成随机root密码
登陆 mysql -u root --skip-password
并及时为root用户添加密码 mysql -u root --skip-password
在进行初始化的时候,mysqld服务会检查数据目录是否存在,如下:
如果数据目录不存在,mysqld则会创建它。
如果数据目录存在,且不是空目录(即包含有文件或子目录),mysqld会显示一条错误信息并中止:
[ERROR] --initialize specified but the data directory exists. Aborting.
遇到上述错误执行以下语句即可解决
s -l /var/lib|grep mysql。若有,则执行命令:
rm -rf /var/lib/mysql,将其删除;或者执行命令:mv /var/lib/mysql /var/lib/newname,将其重命名为newname。
5.启动mysql服务
systemctl start mysqld
若遇到mysql服务不能正常启动。
错误为:Job for mysqld.service failed. See 'systemctl
status mysqld.service' and 'journalctl -xn' for details.
我们先查看一下/var/lib/mysql-files目录是否存在,执行命令:ls -ld /var/lib/mysql-files。
如果不显示任何信息就表示不存在,执行命令:mkdir /var/lib/mysql-files,创建/var/lib/mysql-files目录。
这时,我们试着执行命令:systemctl start mysqld。
如果还出现和下图一样的提示,我们执行另一条命令:chown -R mysql:mysql /var/lib/mysql,
将/var/lib/mysql目录及其下所有文件和子目录的所有者和所属组都改为mysql。我们再执行一下:systemctl start mysqld应该就可以启动mysqld服务了。
6.为root用户添加或修改密码
进入mysql数据库
mysql>update user set password=PASSWORD('root') where User='root';
mysql>SET PASSWORD FOR 'root'@localhost = PASSWORD('root');
7.修改mysql默认数据库存放目录
systemctl stop mysqld
复制 cp -a -R -rf /var/lib/mysql /md0/data/
编辑 vi /etc/myf
注释掉
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
然后在后面添加
[mysqld]
datadir=/md0/data/mysql
socket=/md0/data/mysql/mysql.sock
[mysql]
socket=/md0/data/mysql/mysql.sock
[mysqldump]
socket=/md0/data/mysql/mysql.sock
[mysqladmin]
socket=/md0/data/mysql/mysql.sock
然后重复第四步进行初始化操作
启动的时候如果启动失败可以根据提示查看是否是各个文件的权限问题
chown -R mysql:mysql /你所需要更改的目录
chmod 777 /你所需要更改的目录
启动失败也有可能是SElinux导致,关闭SElinux功能
setenforce 0 临时关闭
getenforce 查看状态
vim /etc/selinux/config 修改文件永久关闭
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive #修改此参数为permissive
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
8.允许mysql远程访问,可以使用以下三种方式:
a、改表。
mysql -u root –p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
b、授权。
例如,你想root使用root从任何主机连接到mysql服务器。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用root作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack'@’10.10.50.127’ IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql>FLUSH R
IVILEGES
c:在安装mysql的机器上运行:
mysql下载下来没安装包进入MySQL服务器
usr/bin/mysql -h localhost -u root
赋予任何主机访问数据的权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
使修改生效
mysql>FLUSH PRIVILEGES
退出MySQL服务器
mysql>EXIT
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论