1.解压MySQL安装包:
# tar –zxvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
2.将解压后的目录进行移动到 /usr/local目录下:
# mv mysql-5.7.13-linux-glibc2.5-x86_64 /usr/local/
3.创建mysql用户:
# useradd mysql
# passwd mysql
4.创建mysql数据存放目录/home/mysql/data/mysql(选择较大磁盘空间的目录),并修改其所有者为mysql用户:
#mkdir -p /home/mysql/data/mysql
# chown -R mysql/home/mysql/data/mysql
# chgrp -R mysql/home/mysql/data/mysql
5.进入mysql的bin目录:
#cd /usr/local/mysql-5.7.13-linux-glibc2.5-x86_64/bin
执行以下命令
# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.13-linux-glibc2.5-x86_64 --datadir=/home/mysql/data/mysql
参数说明:
--userMySQL的安装用户
--basedirMySQL的安装目录
--datadirMySQL数据存放目录
6.记录上一步生成的随机root密码:
如:e7Qd21GhEd,W
7.继续在bin目录执行以下命令:
# ./mysql_ssl_rsa_setup --datadir=/home/mysql/data/mysql
8.进入mysql的support-files目录,执行以下命令:
# cd /usr/local/mysql-5.7.13-linux-glibc2.5-x86_64/support-files/
# cp my-default.cnf /etc/my.cnf(如果提示已存在,则覆盖掉原来的,需要输入yes)
# cp mysql.server /etc/init.d/mysql(如果提示已存在,则覆盖掉原来的,需要输入yes)
9.进入复制后的两个配置文件,修改内容:
# vi /etc/my.cnf
配置文件修改内容如下:
basedir=/usr/local/mysql-5.7.13-linux-glibc2.5-x86_64
datadir=/home/mysql/data/mysql
port = 3306
character-set-server = utf8
# vi /etc/init.d/mysql
修改为下方内容:
basedir=/usr/local/mysql-5.7.13-linux-glibc2.5-x86_64
datadir=/home/mysql/data/mysql
10.到/usr/local目录,将mysql的目录所有者改为mysql用户:
# cd /usr/local
# chown -R mysql/usr/local/mysql-5.7.13-linux-glibc2.5-x86_64
# chgrp -R mysql/usr/local/mysql-5.7.13-linux-glibc2.5-x86_64
11.使用mysql用户,进入bin目录,启动mysql服务:
# sumysql
# cd /usr/local/mysql-5.7.13-linux-glibc2.5-x86_64/bin/
启动mysql:
./mysqld&
12.在bin目录,修改mysql 的 root 用户的密码:
./mysqladmin -u root -p password "root"(修改MySQL的root用户的密码为root)
(此时需要输入安装过程中生成的随机密码)
13.在bin目录下,执行命令进入数据库:
./mysql -u root –p
输入修改后的密码:root
14.进入后创建nlap数据库:
CREATE DATABASE nlap DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
15.添加远程用户admin(用户名:admin,密码:admin):
grant all privileges on *.* to admin@"%" identified by "admin" with grant option;
16.输入“quit”退出
#如果无法使用初始化密码登录,执行以下步骤:
首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
使用mysql用户进行一下操作:
#sumysql
1).修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
2).重新启动mysqld (或采用杀进程的方式关闭进程)
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
3).登录并修改MySQL的root密码 (此时登录不需要密码,在输入密码提示出来后直接回车)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>update mysql.user set authentication_string=password('root') where user='root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql>flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
4).将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
5).重新启动mysqld
# /etc/init.d/mysqld restart
或
# /usr/local/mysql-5.7.13-linux-glibc2.5-x86_64/bin/mysqld&
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]