1、下载tar包,这里使用wget从官网下载
https://downloads.mysql.com/archives/community/ 下载
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
2、将mysql安装到/usr/local/mysql下
解压
tar -zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
移动并且重命名
mv mysql-5.7.40-linux-glibc2.12-x86_64 /usr/local/mysql
3、新建data目录
mkdir /usr/local/mysql/data
4、新建mysql用户、mysql用户组
添加mysql用户组
groupadd mysql
添加mysql用户到mysql组
useradd mysql -g mysql
5、将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql
# 允许 mysql文件夹及其包含的文件可以修改的权限
chmod -R 775 /usr/local/mysql
6、初始化安装 MySQL
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
初始化完成之后,最下方会出现临时密码,记事本记录出现的临时密码,后续登录 mysql 会用到:
[Note] A temporary password is generated for root@localhost: XfC1rOytaa/T
设置 MySQL 开机自启
首先将上述文件拷贝到系统文件下,也可以建立软连接,两种方式都可以:
# 直接拷贝
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 建立软连接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
设置为开机自启动
chkconfig --add mysqld
创建系统文件 my.cnf
通过 mysql 官网可以知道,从版本 5.7.18 开始,mysql 免安装版二进制包中就不包含该文件了,即不需要 my.cnf 文件也可以正常运行;my.cnf 文件中配置的参数选项会在命令行启动 mysql 的时候作为参数进行启动,为了后面搭建 mysql 主从环境方便,下面以添加一个简单的 my.cnf 文件作为实例:
vim /etc/my.cnf
如果没有此文件,则会自动创建,然后编辑输入一下内容:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 作用是禁止域名解析:在mysql的授权表中就不能使用主机名了,只能使用IP
skip-name-resolve
# 设置3306端口
port=3306
#设置远程访问ip
bind-address=0.0.0.0
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#设置查询操作等不区分大小写
lower_case_table_names=1
设置文件权限:
chmod -R 775 /etc/my.cnf
启动 MySQL 服务 如果启动失败用sudo
# 查看mysql服务状态
service mysql status
# 启动mysql服务
service mysql start
# 停止mysql服务
service mysql stop
# 重启mysql服务
service mysql restart
设置 MySQL 环境变量
将 mysql 安装目录配置到环境变量中,在 /etc/profile 文件的末尾添加以下代码
export PATH=$PATH:/usr/local/mysql/bin
退出保存,使配置文件立即生效
source /etc/profile
这样就可以在任何目录,直接通过 mysql 命令登录 mysql 服务了
登录 mysql 服务
#输入登录命令
mysql -uroot -p
修改 root 用户密码
alter user 'root'@'localhost' identified by 'root';
# 或者
set password for root@localhost = password('123456')
#刷新
flush privileges;
如果客户端还连接不上,执行以下命令,创建一个远程可以访问的用户
grant all privileges on *.* to '用户名'@'%' identified by '密码'
- List item 其中 % 是指任意 ip
- List item 账号和密码可以和本地 root 同名。
查看当前 mysql 服务的所有用户信息
select host,user,password_expired,password_last_changed,password_lifetime FROM mysql.user
查询如下