linux下安装MySQL 5.7.22版本
1、用rpm -qa | grep mysql查看当前rpm安装的MySQL版本
2、卸载系统默认rpm安装的MySQL版本
使用rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64命令卸载系统默认rpm安装的MySQL版本
3、到官网下载linux
官网地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
4、选择安装版本、系统。系统版本
5、用WinScp工具,将下载好的mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz传输到linux服务器下的opt目录下(opt就相当于window的d://software存放第三方软件包)
6、将压缩包解压到/user/local/mysql目录下
tar -zxvf /opt/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz //解压压缩包mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql //将解压好的压缩包剪切到/usr/local/mysql目录下
7、创建用户组mysql
groupadd mysql //创建用户组mysql
8、创建用户mysql,并添加到用户组mysql中
useradd -g mysql mysql //创建用户并添加到用户组mysql
9、进入mysql的解压路径,并修改mysql目录下的拥有者和所属组
chown -R mysql:mysql ./ //递归修改当前目录的所有者和所属组
10、安装和初始化数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //安装和初始化数据库
记住临时生成的密码,如下图最后一行的w2:6f7tg63iJ
11、安装SSLbin/mysql_ssl_rsa_setup //安装SSL,默认证书安装在环境变量datadir下
12、将/usr/local/mysql/support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql //将/usr/local/mysql/support-files/mysql.server 拷贝为/etc/init.d/mysql
chmod +x /etc/init.d/mysql //设置/etc/init.d/mysql运行权限
13、将mysql服务加入开机启动项
chkconfig --add mysql //注册mysql服务为开机启动项
chkconfig --list mysql //查看是否注册成功,我安装的系统是以3级别运行的
14、启动mysql
service mysql start //上一步已经把启动脚本/usr/local/mysql/support-files/mysql.server拷贝到了/etc/init.d/mysql,所以可以这样启动
15、连接mysql,密码是步骤10初始化的密码
./mysql -uroot -p //先进入bin目录,连接mysql
16、修改密码
alter user 'root'@'localhost' identified by 'root'; //第一个root是帐号,第二个root是设置的新密码
17.设置远程连接mysql,并刷新权限
linux为了安全,默认是不允许mysql服务器以外的机器访问本机mysql数据库服务的,需要重新授权root账号以提供远程访问:
grant all privileges on *.* to root@'%' identified by 'root'; //重新授权root账号以提供远程访问
格式:grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option; flush privileges;
补充说明: 库名:要远程访问的数据库名称,所有的数据库使用“*”
表名:要远程访问的数据库下的表的名称,所有的表使用“*”
用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”
密码:要赋给远程访问权限的用户对应使用的密码
flush privileges; //刷新权限
查看是否成功
select host,user from mysql.user; //查找用户表
18、配置防火墙,让外部服务器也能连接
(1) vim /etc/sysconfig/iptables //编辑防火墙
(2) 添加内容-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT //将3306设为信赖端口
(3) service iptables restart //重启防火墙
19、退出
quit //退出mysql界面
补充:mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息,多了个进程