• 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:groups mysql
  • 添加用户组和用户 groupadd mysql && useradd -r -g mysql mysql
  • 创建数据目录并赋予权限 mkdir -p /data/mysql
  • 修改配置文件 vim /etc/my.cnf (没有就新建)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
  • 解压后的mysql-5.7.35-linux.tar.gz文件移动到/usr/local/mysql (文件夹名称修改为mysql不带版本号信息)
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
  • 查看初始密码 cat /data/mysql/mysql.err
 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  service mysql start

修改密码

  1. 开启免密码登陆 修改my.cnf文件 默认在/etc/my.cnf

vim /etc/my.cnf 在【mysqld】模块下面添加:skip-grant-tables 保存退出。

  1. 重启服务,使配置生效 。

service mysql restart

  1. 登陆 /usr/local/mysql/bin/mysql -u root -p //不输入密码直接敲回车键

  2. 刷新规则允许外部访问

  use mysql      #选择访问mysql库
  update user set host = '%' where user = 'root';      #使root能再任何host访问
  FLUSH PRIVILEGES;       #刷新 
  1. 修改密码
ALTER USER "root"@"%" IDENTIFIED  BY "1234";

FLUSH PRIVILEGES;       #刷新