一 使用yum安装mysql
1.安装epel
#epel是社区强烈打造的免费开源发行软件包版本库
yum -y install epel-release #安装
2.安装mysql repository
yum -y install wget #安装wget下载工具
wget https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm #下载mysql官方yum源安装包
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm #安装mysql官方yum源
#安装完成后 在/etc/yum.repos.d文件夹中就有了mysql的源
3.安装mysql
yum -y install mysql-community-server mysql #安装mysql服务端和客户端
4.启动mysql服务
systemctl restart mysqld #启动mysql服务
5.查看mysql的初始密码
grep 'password' /var/log/mysqld.log #从mysql日志中查找初始密码
5.登录mysql
mysql -uroot -p'*>p0HuZlP6pr' #使用初始密码登录root用户
6.修改密码
alter user 'root'@'localhost' identified by 'P@ssw0rd123' #将本机上root用户的密码修改为P@ssw0rd123
7.查看mysql服务端版本
select version(); #mysql>
mysql -version #shell
8.设置mysql可远程连接
方法一:登录mysql,执行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'P@ssw0rd123'; #修改权限 flush privileges; #刷新权限
方法二:登录mysql
use mysql; #进入mysql库 SELECT `Host`,`User` FROM user; #查看用户表 UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1; #更新用户表
二 使用源码包安装mysql
1.卸载mysql
rpm -qa | grep mysql #查看是否安装mysql
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64 #卸载所有mysql的软件
whereis mysql #查询mysql的文件夹
find / -name mysql #查询mysql的文件夹
rm -rf /usr/bin/mysql #删除mysql有关的文件夹
2.创建mysql用户
useradd mysql #创建mysql用户,会默认创建mysql组,如果失败则加入mysql组 useradd -r -g mysql mysql
3.解压源码包
tar xzvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /usr/local #解压到/usr/local目录下
mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql #修改目录名为mysql
4.创建数据目录
mkdir /usr/local/mysql/data #创建mysql的数据目录
5.更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql #将文件夹用户设置为mysql用户
chmod -R 755 /usr/local/mysql #设置权限
6.编译安装并初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
#如果出现错误,需要安装依赖
yum -y install libaio-devel.x86_64 #可能缺少的依赖
yum -y install numactl #可能缺少的依赖
#安装成功后,记录一下root密码 qd?qmpDpH5/9
7.测试服务启动
/usr/local/mysql/support-files/mysql.server start #测试启动
8.设置配置文件
vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
9.添加软连接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
10.启动服务
service mysql restart