检查mysql组和用户是否存在,如无创建。
[root@localhost ~]# cat /etc/group | grep mysql
[root@localhost ~]# cat /etc/passwd | grep mysql
如无,执行添加命令:
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql
//useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
解压TAR包,更改所属的组和用户
[root@localhost ~]# tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz -C /var/local/
[root@localhost ~]# mv /var/local/mysql-5.7.25-linux-glibc2.12-x86_64 /var/local/mysql-5.7.25
[root@localhost ~]# cd /var/local/
[root@localhost local]# chown -R mysql mysql-5.7.25/
[root@localhost local]# chgrp -R mysql mysql-5.7.25/
[root@localhost local]# cd mysql-5.7.25/
[root@localhost mysql-5.7.25]# mkdir data/
安装和初始化数据库
[root@localhost mysql-5.7.25]# bin/mysql_install_db --user=mysql --basedir=/var/local/mysql-5.7.25/ --datadir=/var/local/mysql-5.7.25/data/
在/etc/下面新建一个my.cnf文件,把下面的配置拷贝到文件中,保存。
[mysql]
设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
跳过权限验证,不用验证就操作MYSQL
skip-grant-tables
选项就能禁用DNS解析
skip-name-resolve
设置3306端口
port=3306
设置mysql的安装目录
basedir=/var/local/mysql-5.7.25
设置mysql数据库的数据的存放目录
datadir=/var/local/mysql-5.7.25/data
允许最大连接数
max_connections=200
服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16
给my.cnf文件赋予mysql的权限
[root@localhost mysql-5.7.25]# chown mysql:mysql /etc/my.cnf
[root@localhost mysql-5.7.25]# cp -a ./support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql-5.7.25]# cd bin/
[root@localhost bin]# ./mysqld_safe --user-mysql &
把mysql加入环境变量
[root@localhost bin]# vim /etc/profile
在最后面加入 export PATH=/var/local/mysql-5.7.25/bin:$PATH
[root@localhost bin]# source /etc/profile
设置开机启动
[root@localhost bin]# chkconfig --level 35 mysql on
启动MySQL服务
[root@localhost ~]# service mysql start
查看MySQL生成的初始化密码
[root@localhost bin]# cat /root/.mysql_secret
[root@localhost bin]# mysql -u root -p
Enter password: 这里输入初始化密码
如果不能登陆的话,请按下列操作
编辑my.cnf文件,在mysqld下面加入
skip-grant-tables # 跳过权限验证,不用验证就操作MYSQL
重启服务
[root@localhost ~]# service mysql restart
[root@localhost bin]# cd ~
[root@localhost ~]# mysql -u root
mysql> use mysql;
mysql> UPDATE user SET authentication_string = password ('root') WHERE User = 'root';
mysql> quit
再编辑编辑my.cnf文件
删除 skip-grant-tables
重启服务
[root@localhost ~]# service mysql restart
[root@localhost ~]# mysql -u root -p
Enter password: 输入修改的密码
mysql> show database;
这里,可能会报一个密码过于简单的错误
解决办法是再修改一次密码
mysql> alter user 'root'@'localhost' identified by 'root';
mysql> quit
校验密码的复杂程度
mysql> set global validate_password_policy=0;
密码的长度
mysql> set global validate_password_length=1;
添加远程访问权限
关闭selinux
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
Esc 完成编辑
:wq 保存退出
重启系统
[root@localhost ~]# reboot
关闭防火墙
临时关闭
[root@localhost ~]# systemctl stop firewalld
禁止开机启动
[root@localhost ~]# systemctl disable firewalld
配置所有计算机都有权访问数据库
mysql> update user set host = '%' where user='root';
网友评论