在centos7上安装mysql非常简单。
首先下载Yum源的rpm包
具体地址在:
可以选择自己需要的版本。
我下载的是:
wget http://repo.mysql.com/mysql57-community-release-el7.rpm
1、安装rpm文件
通过命令,安装MySQL的YUM源:
rpm -ivh mysql57-community-release-el7.rpm
可以在/etc/yum.repos.d中看到相关的repo文件:
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo mysql-community-source.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo mysql-community.repo OpenLogic.repo
[root@localhost yum.repos.d]#
1、YUM安装MySQL
通过yum命令安装:
yum install -y mysql-server
等待安装完成
启动:
Systemctl start mysqld
查看:
Systemctl status mysqld
设置开机启动:
Systemctl enable mysqld
当你安装完以后,启动服务时你有可能会遇到一些问题:
1、启动报错
- <span style="font-family:SimSun;font-size:14px;">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]</span>
报这个错,网上很多解决方案都说要这啊那的。但很多都没有卵用。其实这个问题很多情况下没有那么复杂,就是文件夹权限的问题。(当然这里不保证全部都是。反正我是这样解决的)
首先查找你安装的mysql位置
[root@localhost ~]# which mysql
/usr/bin/mysql
然后赋予权限就可以
/usr/bin/mysql r
/usr/bin/mysql/** rwk
或者直接给777权限:
chmod -R 777 /usr/bin/mysql
重启: sudo service apparmor restart
然后就可以正常启动mysql服务了。
2、登录不了root用户
- [root@localhost opt]# /usr/bin/mysql -u root
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
网上的几种解决方案,然而并没有什么卵用
- 方案一:
- mysqladmin -u root password 123456,结果提示错误:error: 'Access denied for user 'root'@'localhost' (using password: NO)'
- 方案二:
- 用mysqld_safe skip-grant-tables进入mysql,然后sql语句修改root密码,还是提示错误:-bash: mysqld_safe: command not found
解决:
1、现在mysql安装一般都会给root随机初始化一个密码,所以我们要先找到这个密码:
- [root@localhost opt]# cat /var/log/mysqld.log | grep password
- 2016-07-16T05:01:47.771362Z 1 [Note] A temporary password is generated for root@localhost: q.)ti!Yage6y-
- 2016-07-16T05:02:32.000199Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)
- 2016-07-16T05:02:39.063852Z 3 [Note] Access denied for user 'root'@'localhost' (using password: NO)
看到没,密码就是: q.)ti!Yage6y-
2、重新连接mysql:
- [root@zzs171 opt]# /usr/bin/mysql -u root -p
- Enter password:
输入上面的密码就能进入root用户了。但是这个密码好复杂,自己修改一下
3、修改登录密码
- SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Mysqlpassw0rd.');
注意密码不要太简单,否则会报错。因为mysql有检测密码强度
- mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');
- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
4、如果远程登录报错Host isnot allowed to connect to this mysql server
在装有MySQL的机器上登录MySQL mysql -u root -p密码
执行use mysql;
执行update user set host = '%' where user ='root';这一句执行完可能会报错,不用管它。
执行FLUSH PRIVILEGES;
经过上面4步,就可以解决这个问题了。