目录
一、安装包下载
下载地址:https://dev.mysql.com/downloads/
图片示意:
点击进去选择想要安装的版本:
二、删除已有的mysql服务
- 先查看mysql是否存在,命令如下: rpm -qa|grep -i mysql
- 如果使用这个命令之后没有出现任何内容,表示没有安装过mysql,如果有出现,则删除。
- 如果存在,那么停止mysql,删除所有的服务 service mysqld stop
- 使用如下命令:find / -name mysql 删除出现的所有文件
三、解压安装mysql
#创建目录
mkdir /data/
cd /data
# 上传压缩包 解压
tar -zxvf mysql-8.0.16-el7-x86_64.tar.gz -C /data
# 修改 解压文件夹名称
mv mysql-8.0.16-el7-x86_64 mysql-8.0.16
#进入mysql安装目录
cd mysql-8.0.16
#在mysql-8.0.16目录下新建data文件夹(存储mysql数据)
mkdir data
#创建mysql组
groupadd mysql
#创建mysql用户
useradd -g mysql mysql
#将安装的MySQL目录权限给mysql用户
chown -R mysql.mysql mysql-8.0.16
# mysql初始化 Linux中的MySQL默认是区分表明大小写的,如果安装的是MySQL8,那么不区分大小需要在数据库初始化时设置,不然初始化后,在配置文件在设置重启时是会报错的
./bin/mysqld --user=mysql --basedir=/data/mysql-8.0.16 --datadir=/data/mysql-8.0.16/data --lower-case-table-names=1 --initialize
#使用提示的密码,首次登录
./bin/mysql -hlocalhost -uroot -p
# 修改初始密码
ALTER USER USER() IDENTIFIED BY 'password';
#如果成功登录,exit; 退出后 修改配置文件
vim /etc/my.cnf
四、 修改mysql配置文件
/etc/my.cnf文件内容:(参数自定义)
[mysqld]
bind-address=0.0.0.0
basedir=/data/mysql-8.0.16
datadir=/data/mysql-8.0.16/data/
port=3306
user=mysql
socket=/tmp/mysql.sock
log-error=/data/mysql-8.0.16/data/mysql.err
pid-file=/data/mysql-8.0.16/data/mysql.pid
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
default-storage-engine=INNODB
character_set_server=utf8
lower_case_table_names=1
table_open_cache=128
max_connections=2000
max_connect_errors=6000
innodb_file_per_table=1
innodb_buffer_pool_size=1G
max_allowed_packet=64M
transaction_isolation=READ-COMMITTED
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout=1800
innodb_flush_log_at_trx_commit=0
sync_binlog=0
group_concat_max_len=1024000
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
skip-name-resolve
# 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
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
# include all files from the config directory
#
!includedir /etc/my.cnf.d
五、添加服务到系统
服务名称配置为 mysql或mysqld 和配置文件 /etc/my.cnf下[mysql] 、[mysqld]的参数配置有关,分别对应。例mysqld启动 [mysqld] 下的参数才会生效
# 添加服务到系统
cp -a ./support-files/mysql.server /etc/init.d/mysqld
#查看mysql服务状态
service mysqld status
六、设置账号密码
# 修改初始密码
ALTER USER USER() IDENTIFIED BY 'password';
#赋予root用户,任意IP登录的权限
update mysql.user set host = '%' where user = 'root';
#给与全部权限
grant all privileges on *.* to root@"%" ;
#刷新
flush privileges;
-----------------------------------------------------------------------------
#修改账户密码
alter user 'root'@'%' identified by 'password1';
#创建账户 赋予远程登录权限
create user 'demo'@'%' identified by 'password';
#删除用户(永久,不可撤销)
DROP USER 'demo'@'%';
七、问题处理
1、初始化,首次登录报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
#查看mysql服务是否在运行
ps -ef | grep mysql
#如果mysql服务不存在,进入mysql安装目录启动服务
cd /data/mysql-8.0.16
./support-files/mysql.server start
#如果成功启动即解决,失败的话调整 /etc/my.cnf 文件,删除 [mysqld_safe] 模块配置信息
vim /etc/my.cnf