参考文档:https://blog.csdn.net/bai_shuang/article/details/122939884
1.创建mysql用户和主目录
[root@t3-dtpoc-dtpoc-web01 ~]# cat /etc/passwd |grep -i mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/sbin/nologin
如果没有就添加用户组和用户 groupadd mysql && useradd -r -g mysql mysql
[mysql@t3-dtpoc-dtpoc-web04 ~]$ cat /etc/passwd |grep -i mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
mkdir /home/mysql
chown mysql:mysql -R /home/mysql
[root@t3-dtpoc-dtpoc-web04 ~]# usermod -d /home/mysql mysql
2.安装mysql 使用root用户
在/home/mysql目录解压并移动
tar -zxvf mysql-5.7.26.tar.gz
mv mysql-5.7.26 mysql
3.修改配置文件 vim /etc/my.cnf (没有就新建)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/home/mysql
datadir=/testdata/mysql
socket=/tmp/mysql.sock
log-error=/testdata/mysql/mysql.err
pid-file=/testdata/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
4. 初始化
cd /home/mysql/mysql/bin/
./mysqld --initialize
5. 查看初始密码
cat /testdata/mysql/mysql.err
2023-07-13T02:10:14.571015Z 1 [Note] A temporary password is generated for root@localhost: hk56<Poq?j(d
6. 启动mysql
cp /home/mysql/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
7.修改密码并设置允许外部访问,创建新数据库用户并赋权
1. 开启免密码登陆 修改my.cnf文件 默认在/etc/my.cnf。
vim /etc/my.cnf 在【mysqld】模块下面添加:skip-grant-tables 保存退出。
2. 重启服务,使配置生效 。
service mysql restart
3. 登陆 /home/mysql/mysql/bin/mysql -u root -p //不输入密码直接敲回车键
4. 刷新规则允许外部访问
use mysql #选择访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
5.修改密码
ALTER USER "root"@"%" IDENTIFIED BY "1234";
FLUSH PRIVILEGES; #刷新
6. 退出 quit
把/etc/my.cnf免密删掉。
重启服务 service mysql restart
7. 登陆 /home/mysql/mysql/bin/mysql -u root -p //输入刚修改的密码1234敲回车键
用户权限之创建新用户并给授权指定的数据库权限
创建mysql新用户
CREATE USER 'test'@'%' IDENTIFIED BY '123';
备注上面@后的命令解释
'%' - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问
3.给用户授予权限
grant all on 数据库名.数据库表 to 用户名@'%' identified by "密码";
备注
all 可以替换为 select,delete,update,create,drop
数据库名 所有的 用*
————————————————