首先,我们进入 Mysql 的官网:https://dev.mysql.com/
点击 DOWNLOADS ---> Community 后, 选择 要下载的 mysql 然后选择版本 进入如图 选择 No thanks,just start my download;
如果你有下载好的 Mysql 就不用去官网下了,我下载的是 5.7.18 的。
进入我们的安装步骤:
1. 解压缩安装文件 mysql-5.7.18-linux-glibc2.5-i686.tar.gz
命令:tar -zxvf mysql-5.7.17-linux-glibc2.5-i686.tar.gz
2. 重命名文件
命令:mv mysql-5.7.17-linux-glibc2.5-i686 mysql
3. 移动mysql文件到 /usr/local
命令:mv mysql /usr/local
4. 进入 /usr/local/mysql,然后在/usr/locad/mysql下创建data文件夹
命令:cd /usr/locad/mysql 然后执行: mkdir data
5. 创建mysql用户
命令:groupadd mysql useradd -g mysql mysql
6. 修改权限
命令: chown -R mysql /usr/local/mysql/
7. 初始化数据
命令: ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
8. 进入 /usr/local/mysql,到support-files目录下 , 复制 my-default.cnf 到 /etc文件夹下, 并重命名为my.cnf
命令:
cd /usr/local/mysql/support-files
cp my-default.cnf /etc
mv my-default.cnf my.cnf
注意:如果你在安装时Linux虚拟机时同时安装了默认的mysql,此时操作以上步骤,终端将会提示你文件已存在是否覆盖,输入yes覆盖即可。
9. 修改my.cnf文件
命令:
vim /etc/my.cnf
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
skip-grant-tables --------跳过密码,无密码登录
10. 将mysql的服务脚本放到系统服务中,并指定mysql启动时的两个目录
命令:
cp mysql.server /etc/init.d/mysqld
#vim mysql.server
#basedir=/usr/local/mysql
#datadir=/usr/local/mysql/data
11. 启动mysql
命令:service mysqld start
重启mysql
命令:/etc/init.d/mysqld restart
12. 登录mysql
命令:
cd /usr/local/mysql/bin ------回车
./mysql -uroot -p -------- 无密码登录,直接回车
13. 退出mysql
命令:exit
14. 查看当前数据库用户和密码
5.7版本: select user,authentication_string,host from mysql.user
5.6以前: select user,password,host from mysql.user
15. 修改用户密码
(1) update user set authentication_string = password ('123456') where user='root' ;
(2) 将配置文件my.cnf中 skip-grant-tables 注释掉,重启 mysql,重新登录
(3) 使用第一步设置的密码(123456)登录mysql,再次修改密码:
set password = password('$abc123456'); (新密码必须包含大小写字母,特殊字符,数字)
flush privileges ;
16. 设置远程访问,默认情况下mysql只允许root用户本机登录,使用以下命令查看用户权限
select user,authentication_string,host from mysql.user
+-----------+-------------------------------------------+-----------+
| user | authentication_string | host |
+-----------+-------------------------------------------+-----------+
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
+-----------+-------------------------------------------+-----------+
给root用户设置远程访问权限,允许root用户在远程所用机上对所有库的所有表进行任何操作
grant all privileges on *.* to root@'%' identified by '密码';
grant:授权
all privileges:所有权限(insert,delete,update,select,alter)
*.*:所有数据库的所有表
root:授权的用户
%:所有远程机
密码:授权用户的密码
17.查看授权信息:
执行 select host,user from user;多出一条记录
+-----------+-----------+
| user | host |
+-----------+-----------+
| root | % |
| mysql.sys | localhost |
| root | localhost |
+-----------+-----------+