Linux安装配置mysql
- 安装前需移除本地上的mariadb数据
否则在安装mysql时会引起包冲突
命令:yum remove mariadb-libs.x86_64
2. 进入/usr/local 目录
命令:cd /usr/local
3. 下载源
命令:wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
若提示:-bash wget 未找到命令 ,需安装wget
命令:yum -y install wget
然后继续执行上述命令。下载mysql5.7
- 安装源
命令:yum localinstall mysql57-community-release-el7-11.noarch.rpm
5. 安装mysql
命令:yum install mysql-community-server
将下载好的mysql解压到/usr/local里面
(或者:把文件传输到usr/local中,解压)
解压命令:tar -xvf mysql-5.7.13-1.el6.x86_64.rpm-bundle.tar
解压完成。
安装命令:
rpm -ivh mysql-community-common-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.13-1.el7.x86_64.rpm
一般安装以上四个rpm文件,直至最终mysql-community-server安装上就结束。如果没有安装完成根据提示继续安装对应的rpm文件即可。
6. 启动mysql
命令:service mysqld start
启动报错解决方法:
MySQL服务在启动的时候,不能创建pid文件。
在终端看一下该目录是否存在,果然,不存在。
于是,创建了/var/run/mysqld/目录,重启MySQL服务
[root@spark01 ~]# mkdir -p /var/run/mysqld/
[root@spark01 ~]# /etc/init.d/mysqld start
1 2 | Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED] |
依旧报错,重新查看告警日志,有以下输出
1 2 3 4 | 2016-01-20T10:28:37.183387Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13 - Permission denied) 2016-01-20T10:28:37.183431Z 0 [ERROR] Can't start server: can't create PID file: Permission denied 160120 18:28:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 160120 18:32:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql |
原来,/var/run/mysqld/的属主和属组还是root,mysql并不能在其中创建文件,后修改该目录的属主和属组,启动OK。
1 2 3 4 5 | [root@spark01 ~]# ls -ld /var/run/mysqld/ drwxr-xr-x 2 root root 40 Jan 20 18:28 /var/run/mysqld/ [root@spark01 ~]# chown mysql.mysql /var/run/mysqld/ [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): [ OK ] |
7. 查看mysql默认密码
命令:cat /var/log/mysqld.log | grep password
8. 输入用户名和临时密码登陆
命令:mysql -uroot -p
第7步看到的密码
9. 修改2个全局参数-降低密码验证策略,否则无法修改成简单密码(密码必须为字母+数字+特殊符号长度大于8位)
set global validate_password_policy=0;
set global validate_password_length=1;
10. 设置密码为 123456:
命令:SET PASSWORD = PASSWORD('123456');
11. 退出 mysql
命令:exit;
12. 用新密码从新登陆mysql
命令:mysql -uroot -p123456;
13. 设置mysql可以远程访问(该命令需在登陆mysql后执行)
命令: grant all privileges on *.* to 'root' @'%' identified by '123456';
命令: flush privileges;
14. 设置mysql开机自启动(该命令需在退出mysql后执行)
#启动MySQL
systemctl start mysqld
#设置自启动
systemctl enable mysqld
设置自启动
赋予可执行权限:chmod +x /etc/init.d/mysqld
添加为服务: chkconfig --add mysqld
查看服务列表: chkconfig --list
看到3、4、5状态为开或者为 on 则表示成功。如果是 关或者 off 则执行一下:chkconfig --level 345 mysqld on
重启计算机:reboot
再次查看服务列表或者查看3306端口号
netstat -na | grep 3306
启动成功!!
15. 在window 打开Navicat ,远程连接mysql
密码:数据库的密码
至此:linux安装mysql,并在window远程访问完毕!!!